SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Проблема в коде



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
kolobok
Участник
Участник



Joined: 03 Sep 2012
Posts: 29

PostPosted: Wed Sep 12, 2012 12:52 pm    Post subject: Проблема в коде Reply with quote

Уважаемые. Мне нужна ваша помощь. Иначе я взорвусь от негодования и непонимания Sad
В общем есть три столбца: А Б и В.
Code:
ITAB-SUM_DIFF = ITAB-SUM_BU - ITAB-SUM_NU.
    IF ZPBU18T-RDIFF_TYPE = 'C'.
      ITAB-SUM_PR = ITAB-SUM_DIFF.
    ELSEIF ZPBU18T-RDIFF_TYPE = 'T' and
        J_3R_T030K-HIER_KEY = 'BN18' AND
        J_3R_T030K-DIF_CODE = ZPBU18T-RDIFF_OBJ AND
        J_3R_T030K-KTOPL = '1000'.
     IF J_3R_T030K-ACCT_TARG(3) = '009' OR
        J_3R_T030K-ACCT_CORR(3) = '009'.
        ITAB-SUM_VVR = ITAB-SUM_DIFF.
      ELSEIF J_3R_T030K-ACCT_TARG(3) = '077' OR
      J_3R_T030K-ACCT_CORR(3) = '077'.
        ITAB-SUM_NVR = ITAB-SUM_DIFF.
      ELSE.
        MESSAGE S001(00) WITH 'Ошибка в заполнении поля ВВР или НВР!'.
      ENDIF.
    ENDIF.


То есть если поле имеет отметку С, то сумма из А дублируется в столбец Б. Если поле имеет отметку Т, то сумма из А копипастируется в В. Только + еще определенные критерии выборки по таблице J_3R_T030K. Так вооот. Нифига ничего не копипастируется. Все (и с меткой С и Т) успешно переписывается в столбец Б, когда надо в В.
Знаю, что ошибка в условии выборок.
Как можно по-другому немного все это предоставить? Не обязательно код, поможет даже просто словесный алгоритм...
Back to top
View user's profile Send private message
bimit
Специалист
Специалист



Joined: 11 Jul 2011
Posts: 56

PostPosted: Wed Sep 12, 2012 2:32 pm    Post subject: Re: Проблема в коде Reply with quote

kolobok wrote:
Уважаемые. Мне нужна ваша помощь. Иначе я взорвусь от негодования и непонимания Sad
В общем есть три столбца: А Б и В.
Code:
ITAB-SUM_DIFF = ITAB-SUM_BU - ITAB-SUM_NU.
    IF ZPBU18T-RDIFF_TYPE = 'C'.
      ITAB-SUM_PR = ITAB-SUM_DIFF.
    ELSEIF ZPBU18T-RDIFF_TYPE = 'T' and
        J_3R_T030K-HIER_KEY = 'BN18' AND
        J_3R_T030K-DIF_CODE = ZPBU18T-RDIFF_OBJ AND
        J_3R_T030K-KTOPL = '1000'.
     IF J_3R_T030K-ACCT_TARG(3) = '009' OR
        J_3R_T030K-ACCT_CORR(3) = '009'.
        ITAB-SUM_VVR = ITAB-SUM_DIFF.
      ELSEIF J_3R_T030K-ACCT_TARG(3) = '077' OR
      J_3R_T030K-ACCT_CORR(3) = '077'.
        ITAB-SUM_NVR = ITAB-SUM_DIFF.
      ELSE.
        MESSAGE S001(00) WITH 'Ошибка в заполнении поля ВВР или НВР!'.
      ENDIF.
    ENDIF.


То есть если поле имеет отметку С, то сумма из А дублируется в столбец Б. Если поле имеет отметку Т, то сумма из А копипастируется в В. Только + еще определенные критерии выборки по таблице J_3R_T030K. Так вооот. Нифига ничего не копипастируется. Все (и с меткой С и Т) успешно переписывается в столбец Б, когда надо в В.
Знаю, что ошибка в условии выборок.
Как можно по-другому немного все это предоставить? Не обязательно код, поможет даже просто словесный алгоритм...


Так то код совсем не читабельный, вместо первого IF сделайте CASE, ну и не понятно как вы берете данные из J_3R_T030K и как добавляете записи во внутреннюю таблицу. Ну и не в обиду, индусы Вам бы позавидовали Very Happy

З.Ы. Приведите более подробный кусок кода
З.Ы.З.Ы. Пишите комментарии по коду, для других будет понятней потом Smile
Back to top
View user's profile Send private message
kolobok
Участник
Участник



Joined: 03 Sep 2012
Posts: 29

PostPosted: Wed Sep 12, 2012 3:42 pm    Post subject: Reply with quote

Very Happy
Я писала уже case'ом. Но по не знанию пока некоторых моментиков не извлекла данные из таблицы J_3R_T030K, поэтому было пусто. А в остальном я разобралась)
Спасибо, что откликнулись Embarassed
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.