Posted: Wed Sep 12, 2012 12:52 pm Post subject: Проблема в коде
Уважаемые. Мне нужна ваша помощь. Иначе я взорвусь от негодования и непонимания
В общем есть три столбца: А Б и В.
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. Так вооот. Нифига ничего не копипастируется. Все (и с меткой С и Т) успешно переписывается в столбец Б, когда надо в В.
Знаю, что ошибка в условии выборок.
Как можно по-другому немного все это предоставить? Не обязательно код, поможет даже просто словесный алгоритм...
Posted: Wed Sep 12, 2012 2:32 pm Post subject: Re: Проблема в коде
kolobok wrote:
Уважаемые. Мне нужна ваша помощь. Иначе я взорвусь от негодования и непонимания
В общем есть три столбца: А Б и В.
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 и как добавляете записи во внутреннюю таблицу. Ну и не в обиду, индусы Вам бы позавидовали
З.Ы. Приведите более подробный кусок кода
З.Ы.З.Ы. Пишите комментарии по коду, для других будет понятней потом
Я писала уже case'ом. Но по не знанию пока некоторых моментиков не извлекла данные из таблицы J_3R_T030K, поэтому было пусто. А в остальном я разобралась)
Спасибо, что откликнулись
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.