Re: MIGO_DIALOG
Hi Friends,
My requirement is to copy the function module MIGO_DIALOG into my own name and do the modification.
After copied, when i check syntax, its giving error that 'The type lcl_migo_globals is unknown'. i don't know much about ABAP class.
this is an urgent requirement. please guide me on this to solve the problem.
Thanks and regards,
Raja
Hi,
The easy thing is that you can copy the function modules with all the includes. Problem is that many of the attributes will be defined in the top include of the strandard function group. So copy the contents from top include of that to your function groups top include.
Regards,
Renjith Michael.
Similar Messages
-
RG1 summary of Finished goods-report.
Hi Folks,
RG1 summary of Finished goods-report.
The closing balance for a particular material number during the month Jan 2007 is showing 1.00 but the opening balance for the same material number during the month February 2007 is showing 0.00 but not 1.00.
I mean to say the closing balance in January 2007 is not carrying forward into the month Feb 2007.May I know how to go ahead with this problem.
What is the concept of UPDATE RULES of the table.?
The previous developer has developed the following report.
REPORT zxxx MESSAGE-ID z_apd.
*& Includes *
INCLUDE <icon>.
*& Tables *
TABLES : j_1irg1,
j_2irg1bal,
z2irg1bal,
ser03,
objk.
*& Selection Screen *
SELECTION-SCREEN : BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
PARAMETERS : p_exgrp TYPE j_1irg1-exgrp OBLIGATORY,
p_stdate LIKE sy-datum OBLIGATORY,
p_endate LIKE sy-datum OBLIGATORY.
SELECT-OPTIONS s_chapid FOR j_1irg1-chapid .
SELECTION-SCREEN : END OF BLOCK blk1.
*& Data Declaration *
Internal Tables
DATA : it_display TYPE TABLE OF zj1irg1,
it_final TYPE TABLE OF zj1irg1,
it_alv TYPE TABLE OF zj1irg1,
Work Areas
wa_display TYPE zj1irg1,
wa_alv TYPE zj1irg1,
it_display1 TYPE TABLE OF zj1irg1,
wa_display1 TYPE zj1irg1,
wa_alv1 TYPE zj1irg1.
DATA: BEGIN OF it_itab OCCURS 0.
INCLUDE STRUCTURE zj1irg1.
DATA: END OF it_itab.
DATA : BEGIN OF itab1 OCCURS 0,
matnr LIKE j_1irg1-matnr,
END OF itab1.
DATA : BEGIN OF itab2 OCCURS 0,
cpudt LIKE j_1irg1-cpudt,
END OF itab2.
DATA : BEGIN OF itab3 OCCURS 0.
INCLUDE STRUCTURE j_1irg1.
DATA: END OF itab3.
DATA : itab4 LIKE j_1irg1 OCCURS 0 WITH HEADER LINE,
itab5 LIKE j_1irg1 OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF itab6 OCCURS 0.
INCLUDE STRUCTURE j_1irg1.
DATA : sernr LIKE objk-sernr.
DATA: END OF itab6.
DATA : BEGIN OF itab61 OCCURS 0.
INCLUDE STRUCTURE j_1irg1.
DATA: sernr LIKE objk-sernr.
DATA: END OF itab61.
DATA : itab7 LIKE j_2irg1bal OCCURS 0 WITH HEADER LINE,
it_bal LIKE j_2irg1bal OCCURS 0 WITH HEADER LINE,
it_bal1 LIKE j_2irg1bal OCCURS 0 WITH HEADER LINE.
DATA: qty_menge LIKE j_1irg1-menge,
iss_menge LIKE j_1irg1-menge,
tot_menge LIKE j_1irg1-menge,
op_menge LIKE j_1irg1-menge,
matnr LIKE j_1irg1-matnr,
exgrp LIKE j_1irg1-exgrp ,
cpudt LIKE j_1irg1-cpudt.
*for checcking lines of itab
DATA: n1 TYPE i.
Others
DATA : v_bwart TYPE mseg-bwart,
v_index TYPE i,
v_index1 TYPE i,
count(4) TYPE n VALUE '0',
neg TYPE char1 VALUE '-',
menge TYPE char16,
count_1 TYPE i,
count_2 TYPE i,
count_3 TYPE i,
count12(4) TYPE n VALUE '0',
count13(4) TYPE n VALUE '0'.
*Ranges
RANGES: v_bwart1 FOR mseg-bwart.
For ALV Display
DATA : gs_variant TYPE disvariant,
gs_layout TYPE lvc_s_layo,
c_stk TYPE scrfname VALUE 'ZRG1',
custom_container TYPE REF TO cl_gui_custom_container.
CLASS lcl_event_receiver DEFINITION DEFERRED.
DATA : grid1 TYPE REF TO cl_gui_alv_grid,
event_receiver TYPE REF TO lcl_event_receiver,
ok_code TYPE sy-ucomm,
it_fieldcatalog TYPE lvc_t_fcat,
wafieldcatlog TYPE LINE OF lvc_t_fcat,
lt_rows TYPE lvc_t_row,
wa_rows TYPE LINE OF lvc_t_row.
*& Start of Selection *
START-OF-SELECTION.
IMPORT s_chapid FROM MEMORY ID 'SCHAPID'.
PERFORM get_data.
IF it_display[] IS INITIAL.
No Details Available
MESSAGE i017(z_apd) WITH text-005.
STOP.
ELSE.
Display the Details on the Screen
sort it_display by matnr.
*sort it_display by cpudt RISINDR RISINDI matnr.
LOOP AT it_display INTO wa_display.
ON CHANGE OF wa_display-matnr.
*insert
*Check record exits
SELECT SINGLE * FROM z2irg1bal
WHERE
exgrp = exgrp AND
matnr = matnr AND
form = 'P' AND
cb_finish = tot_menge AND
datum = cpudt.
*If record does not exists
*Update balance Table.
IF count12 GE 1.
IF sy-subrc NE 0.
z2irg1bal-mandt = sy-mandt.
z2irg1bal-exgrp = exgrp.
z2irg1bal-matnr = matnr.
z2irg1bal-form = 'P'.
z2irg1bal-cb_finish = tot_menge.
z2irg1bal-datum = cpudt.
INSERT z2irg1bal ."values wa_display.
COMMIT WORK.
ENDIF.
Start of Insertion
IF sy-subrc EQ 0.
z2irg1bal-mandt = sy-mandt.
z2irg1bal-exgrp = exgrp.
z2irg1bal-matnr = matnr.
z2irg1bal-form = 'P'.
z2irg1bal-cb_finish = tot_menge.
z2irg1bal-datum = cpudt.
UPDATE z2irg1bal SET cb_finish = z2irg1bal-cb_finish
WHERE exgrp = z2irg1bal-exgrp AND
datum = z2irg1bal-datum AND
matnr = z2irg1bal-matnr AND
form = 'P'.
ENDIF.
End of Insertion.
ENDIF.
CLEAR: qty_menge,
iss_menge,
tot_menge,
count,
matnr,
cpudt,
exgrp.
ENDON.
loop at itab6.
AT NEW matnr.
v_index = 1.
count = count + 1 .
ENDAT.
IF v_index = 1.
CLEAR v_index.
*INsert for adding start
IF wa_display-risind = 'R'.
*wa_display-OP_FINISH = wa_display-OP_FINISH +
wa_display-CB_FINISH +
wa_display-MENGE.
wa_display-op_finish = wa_display-menge.
qty_menge = wa_display-op_finish.
IF wa_display-status = space.
tot_menge = tot_menge + qty_menge + wa_display-cb_finish .
ELSE.
tot_menge = tot_menge - qty_menge + wa_display-cb_finish.
ENDIF.
*tot_menge = op_menge.
op_menge = tot_menge.
ELSE.
*Qty Issued
wa_display-op_bond = wa_display-op_finish - wa_display-menge.
IF wa_display-op_bond LT 0.
iss_menge = wa_display-op_bond.
iss_menge = ABS( iss_menge ).
*Start of modification
tot_MENGE = tot_MENGE - iss_MENGE ."
IF count LE 1.
tot_menge = wa_display-cb_finish - iss_menge ."
ELSE.
tot_menge = tot_menge - iss_menge ."
ENDIF.
*End of modification
op_menge = tot_menge.
ENDIF.
ENDIF.
*wa_display-MENGE_FINI = wa_display-OP_FINISH - wa_display-OP_BOND.
*tot_MENGE = tot_MENGE + qty_MENGE - iss_MENGE .
wa_display-menge_fini = tot_menge.
**matnr for insert
matnr = wa_display-matnr.
*excise group
exgrp = wa_display-exgrp.
*Date
cpudt = wa_display-cpudt.
*Opening Balance
*Insert start
*if count le 1.
if wa_display-RISIND = 'R'.
wa_display-CB_FINISH = wa_display-CB_FINISH + qty_MENGE.
else.
wa_display-CB_FINISH = wa_display-CB_FINISH - iss_MENGE.
endif.
*endif.
*Insert End
IF count GT 1.
IF wa_display-risind = 'R'.
wa_display-cb_finish = tot_menge - qty_menge.
ELSE.
wa_display-cb_finish = tot_menge + iss_menge.
ENDIF.
ENDIF.
*check it_display-SERIALNO = wa_display-SERIALNO.
MODIFY it_display FROM wa_display.
*INsert for adding end
*move-corresponding wa_display to it_itab.
*append it_itab.
*check it_itab-SERIALNO = wa_display-SERIALNO.
*if sy-subrc = 0.
*endif.
*Insert to update closng to balance to Rg1bal table
*start
count12 = count12 + 1.
*for last record
AT LAST.
*Check record exits
SELECT SINGLE * FROM z2irg1bal
WHERE
exgrp = exgrp AND
matnr = matnr AND
form = 'P' AND
cb_finish = tot_menge AND
datum = cpudt.
*If record does not exists
*Update balance Table.
IF count12 GE 1.
IF sy-subrc NE 0.
z2irg1bal-mandt = sy-mandt.
z2irg1bal-exgrp = exgrp.
z2irg1bal-matnr = matnr.
z2irg1bal-form = 'P'.
z2irg1bal-cb_finish = tot_menge.
z2irg1bal-datum = cpudt.
INSERT z2irg1bal ."values wa_display.
COMMIT WORK.
Start of Insertion
IF sy-subrc EQ 0.
z2irg1bal-mandt = sy-mandt.
z2irg1bal-exgrp = exgrp.
z2irg1bal-matnr = matnr.
z2irg1bal-form = 'P'.
z2irg1bal-cb_finish = tot_menge.
z2irg1bal-datum = cpudt.
UPDATE z2irg1bal SET cb_finish = z2irg1bal-cb_finish
WHERE exgrp = z2irg1bal-exgrp AND
datum = z2irg1bal-datum AND
matnr = z2irg1bal-matnr AND
form = 'P'.
ENDIF.
End of Insertion
ENDIF.
ENDIF.
ENDAT.
*Insert to update closng to balance to Rg1bal table
*end
MOVE-CORRESPONDING wa_display TO wa_alv.
APPEND wa_alv TO it_alv.
append itab6 to it_alv.
ENDIF.
ENDLOOP.
loop at it_alv into wa_alv.
wa_alv-exgrp = wa_alv-exgrp.
wa_alv-SYEAR = wa_alv-syear.
wa_alv-SERIALNO = wa_alv-SERIALNO.
endloop.
EXPORT it_alv TO MEMORY ID 'ABCD'.
call screen 100.
ENDIF.
*& End of Selection *
END-OF-SELECTION.
*& Class Definition *
CLASS lcl_event_receiver DEFINITION.
PUBLIC SECTION.
METHODS:
handle_toolbar
FOR EVENT toolbar OF cl_gui_alv_grid
IMPORTING e_object e_interactive,
handle_user_command
FOR EVENT user_command OF cl_gui_alv_grid
IMPORTING e_ucomm,
handle_double_click
FOR EVENT double_click OF cl_gui_alv_grid
IMPORTING e_row e_column.
PRIVATE SECTION.
ENDCLASS. "lcl_event_receiver DEFINITION
*& Class Implementation *
CLASS lcl_event_receiver IMPLEMENTATION.
METHOD handle_toolbar.
Local Variables
DATA: ls_toolbar TYPE stb_button.
append a separator to normal toolbar
CLEAR ls_toolbar.
MOVE 3 TO ls_toolbar-butn_type.
APPEND ls_toolbar TO e_object->mt_toolbar.
append an icon to to show printing
CLEAR ls_toolbar.
MOVE 'PRINT' TO ls_toolbar-function.
MOVE icon_print TO ls_toolbar-icon.
MOVE 'Print Receipts' TO ls_toolbar-quickinfo.
MOVE ' Print' TO ls_toolbar-text.
MOVE ' ' TO ls_toolbar-disabled.
APPEND ls_toolbar TO e_object->mt_toolbar.
ENDMETHOD. " Handle_toolbar
METHOD handle_user_command.
CASE e_ucomm.
WHEN 'PRINT'.
REFRESH : lt_rows , it_final.
CALL METHOD grid1->get_selected_rows
IMPORTING
et_index_rows = lt_rows.
CALL METHOD cl_gui_cfw=>flush.
LOOP AT lt_rows INTO wa_rows.
READ TABLE it_alv INDEX wa_rows-index INTO wa_alv.
LOOP AT it_display INTO wa_display
WHERE mblnr = wa_alv-mblnr.
APPEND wa_display TO it_final.
ENDLOOP.
ENDLOOP.
perform display_form.
ENDCASE.
ENDMETHOD. "handle_user_command
METHOD handle_double_click.
IF e_column = 'MBLNR'.
READ TABLE it_alv INDEX e_row-index INTO wa_alv.
IF sy-subrc = 0.
REFRESH it_final.
LOOP AT it_display INTO wa_display
WHERE mblnr = wa_alv-mblnr.
APPEND wa_display TO it_final.
ENDLOOP.
PERFORM call_migo.
ENDIF.
ENDIF.
ENDMETHOD. "handle_double_click
ENDCLASS. "lcl_event_receiver IMPLEMENTATION
*& Form get_data
text
--> p1 text
<-- p2 text
FORM get_data .
*Select only for matnr and chapid from table
SELECT matnr FROM j_1irg1
APPENDING CORRESPONDING FIELDS OF TABLE itab1
WHERE exgrp = p_exgrp
AND
WERKS = P_WERKS
and
MATNR in s_MATNR
and
CPUDT in s_CPUDT.
cpudt BETWEEN p_stdate AND p_endate
AND
*Chapid
chapid IN s_chapid
ORDER BY matnr.
SORT itab1 BY matnr. " for performance
DELETE ADJACENT DUPLICATES FROM itab1 COMPARING matnr .
SELECT cpudt FROM j_1irg1
APPENDING CORRESPONDING FIELDS OF TABLE itab2
WHERE exgrp = p_exgrp
AND
cpudt BETWEEN p_stdate AND p_endate
AND
*Chapid
chapid IN s_chapid
ORDER BY cpudt.
SORT itab2 BY cpudt. " for Performance
DELETE ADJACENT DUPLICATES FROM itab2 COMPARING cpudt .
LOOP AT itab1.
LOOP AT itab2.
*on change of itab1-matnr or itab2-cpudt.
*select * from J_1IRG1
CLEAR itab3.
SELECT * FROM j_1irg1
*into itab3
APPENDING CORRESPONDING FIELDS OF TABLE itab3
WHERE matnr = itab1-matnr
AND
cpudt = itab2-cpudt.
*count = count + 1.
IF sy-subrc EQ 0.
LOOP AT itab3.
*count = count + 1.
*READ TABLE itab3 INDEX count."1.
IF itab3-risind = 'R'.
MOVE-CORRESPONDING itab3 TO itab4.
APPEND itab4.
DELETE itab3.
MOVE-CORRESPONDING itab4 TO itab6.
APPEND itab6.
CLEAR itab4.
ELSE.
MOVE-CORRESPONDING itab3 TO itab5.
APPEND itab5.
DELETE itab3.
MOVE-CORRESPONDING itab5 TO itab6.
APPEND itab6.
CLEAR itab5.
ENDIF.
ENDLOOP.
ENDIF.
*endon.
ENDLOOP.
ENDLOOP.
SELECT * FROM z2irg1bal
APPENDING CORRESPONDING FIELDS OF TABLE itab7
WHERE exgrp = p_exgrp
AND
datum LE p_stdate
ORDER BY datum.
SORT itab7 BY datum.
DELETE ADJACENT DUPLICATES FROM itab7 COMPARING datum .
*insert Start
LOOP AT itab6.
DELETE itab7 WHERE matnr NE itab6-matnr.
ENDLOOP.
*insert End
*insert Start
LOOP AT itab6.
CLEAR itab61. REFRESH itab61.
CLEAR wa_display.
MOVE-CORRESPONDING itab6 TO wa_display.
EQPT Serno
count13 = 1.
SELECT SINGLE obknr FROM ser03 INTO ser03-obknr WHERE
mblnr EQ itab6-mblnr
AND mjahr EQ itab6-mjahr.
IF sy-subrc EQ 0.
SELECT sernr FROM objk INTO CORRESPONDING
FIELDS OF TABLE itab61 WHERE
obknr EQ ser03-obknr.
DESCRIBE TABLE itab61 LINES n1.
*do N1 times.
LOOP AT itab61.
IF count13 EQ 1.
wa_display-sernr = itab61-sernr.
ENDIF.
IF count13 EQ 2.
wa_display-sernr1 = itab61-sernr.
ENDIF.
IF count13 EQ 3.
wa_display-sernr2 = itab61-sernr.
ENDIF.
IF count13 EQ 4.
wa_display-sernr3 = itab61-sernr.
ENDIF.
IF count13 EQ 5.
wa_display-sernr4 = itab61-sernr.
ENDIF.
IF count13 EQ 6.
wa_display-sernr5 = itab61-sernr.
ENDIF.
IF count13 EQ 7.
wa_display-sernr6 = itab61-sernr.
ENDIF.
if count13 eq 8.
objk-SERNR8 = objk-SERNR.
endif.
if count13 eq 9.
objk-SERNR9 = objk-SERNR.
endif.
count13 = count13 + 1.
endselect.
ENDLOOP.
*enddo.
ENDIF.
endif.
*End of Modification Eqpt Serial No
MOVE-CORRESPONDING itab6 TO wa_display.
SELECT * FROM z2irg1bal
APPENDING CORRESPONDING FIELDS OF TABLE it_bal1
WHERE matnr = itab6-matnr
AND datum LE p_stdate
AND exgrp = itab6-exgrp.
SORT it_bal1 DESCENDING .
READ TABLE it_bal1 INDEX 1.
ON CHANGE OF itab6-matnr .
wa_display-cb_finish = it_bal1-cb_finish.
ENDON.
AT LAST ."matnr.
wa_display-cb_finish = it_bal1-cb_finish.
ENDAT.
APPEND wa_display TO it_display .
CLEAR wa_display-cb_finish.
CLEAR it_bal1. REFRESH it_bal1.
ENDLOOP.
SELECT * FROM j_1irg1
APPENDING CORRESPONDING FIELDS OF TABLE it_itab
WHERE exgrp = p_exgrp
AND
cpudt BETWEEN p_stdate AND p_endate.
DESCRIBE TABLE it_itab[] LINES count_1.
count_3 = count_1 + 1.
DESCRIBE TABLE it_display[] LINES count_2.
IF it_display IS NOT INITIAL.
DELETE it_display FROM count_3 TO count_2.
ENDIF.
*start of insertion
DELETE it_display WHERE status = 'C'.
LOOP AT it_display INTO wa_display.
CLEAR wa_display-cb_finish.
MODIFY it_display FROM wa_display.
ON CHANGE OF wa_display-matnr .
SELECT * FROM z2irg1bal
INTO CORRESPONDING FIELDS OF TABLE it_bal1
WHERE matnr = wa_display-matnr
AND datum LE p_stdate
AND exgrp = wa_display-exgrp.
IF sy-subrc = 0.
SORT it_bal1 DESCENDING .
READ TABLE it_bal1 INDEX 1.
wa_display-cb_finish = it_bal1-cb_finish.
MODIFY it_display FROM wa_display.
ENDIF.
ENDON.
ENDLOOP.
*End of insertion
ENDFORM. " get_data
*& Module STATUS_0100 OUTPUT
text
MODULE status_0100 OUTPUT.
SET PF-STATUS 'ZRG1'.
SET TITLEBAR 'ZRG1'.
DATA: lt_exclude TYPE ui_functions.
IF custom_container IS INITIAL.
Create the Custom Container
CREATE OBJECT custom_container
EXPORTING
container_name = c_stk.
Create an instance of alv control
CREATE OBJECT grid1
EXPORTING
i_parent = custom_container.
Layout Settings
gs_layout-sel_mode = 'A'. " Multiple Lines
MOVE 'RG1 Register' TO gs_layout-grid_title.
Prepare the Field Catalog
PERFORM prepare_catalog.
To Exclude the PRINT Button from the Standard toolbar of ALV
PERFORM exclude_tb_functions CHANGING lt_exclude.
Display the List for ALV Display
CALL METHOD grid1->set_table_for_first_display
EXPORTING
it_toolbar_excluding = lt_exclude
is_layout = gs_layout
CHANGING
it_fieldcatalog = it_fieldcatalog[]
it_outtab = it_alv[].
CREATE OBJECT event_receiver.
SET HANDLER event_receiver->handle_user_command FOR grid1.
SET HANDLER event_receiver->handle_toolbar FOR grid1.
SET HANDLER event_receiver->handle_double_click FOR grid1.
CALL METHOD grid1->set_toolbar_interactive.
ENDIF.
CALL METHOD cl_gui_control=>set_focus
EXPORTING
control = grid1.
ENDMODULE. " STATUS_0100 OUTPUT
*& Form exclude_tb_functions
text
<--P_LT_EXCLUDE text
FORM exclude_tb_functions CHANGING pt_exclude TYPE ui_functions.
Local Varaibles
DATA ls_exclude TYPE ui_func.
ls_exclude = cl_gui_alv_grid=>mc_fc_print.
APPEND ls_exclude TO pt_exclude.
ENDFORM. " exclude_tb_functions
*& Form prepare_catalog
text
--> p1 text
<-- p2 text
FORM prepare_catalog .
DATA : v_index TYPE i.
*Entry Date
v_index = v_index + 1.
wafieldcatlog-fieldname = 'CPUDT'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'RG1 Entry Date'.
wafieldcatlog-reptext = 'RG1 Entry Date'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Serial No
v_index = v_index + 1.
wafieldcatlog-fieldname = 'SERIALNO'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'RG1 serial number'.
wafieldcatlog-reptext = 'RG1 serial number'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
v_index = v_index + 1.
wafieldcatlog-fieldname = 'CHAPID'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Chapter ID'.
wafieldcatlog-reptext = 'Chapter ID'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
v_index = v_index + 1.
wafieldcatlog-fieldname = 'MBLNR'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Number of Material Document'.
wafieldcatlog-reptext = 'Number of Material Document'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Item
v_index = v_index + 1.
wafieldcatlog-fieldname = 'ZEILE'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Item in Material Document'.
wafieldcatlog-reptext = 'Item in Material Document'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
v_index = v_index + 1.
wafieldcatlog-fieldname = 'BWART'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Movement Type'.
wafieldcatlog-reptext = 'Movement Type'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
v_index = v_index + 1.
wafieldcatlog-fieldname = 'MENGE'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Quantity'.
wafieldcatlog-reptext = 'Quantity'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
wafieldcatlog-DO_SUM = 'X'.
append wafieldcatlog to it_fieldcatalog.
clear wafieldcatlog-reptext.
clear wafieldcatlog-key.
*Base Unit of Measure
v_index = v_index + 1.
wafieldcatlog-fieldname = 'MEINS'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Base Unit of Measure'.
wafieldcatlog-reptext = 'Base Unit of Measure'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
wafieldcatlog-do_sum = 'X'.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
v_index = v_index + 1.
wafieldcatlog-fieldname = 'RISIND'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Goods Movement Direction'.
wafieldcatlog-reptext = 'Goods Movement Direction'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Material Number
v_index = v_index + 1.
wafieldcatlog-fieldname = 'MATNR'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Material Number'.
wafieldcatlog-reptext = 'Material Number'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*CB_FINISH
v_index = v_index + 1.
wafieldcatlog-fieldname = 'CB_FINISH'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Opening Balance'.
wafieldcatlog-reptext = 'Opening Balance'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*materail manufactured
v_index = v_index + 1.
wafieldcatlog-fieldname = 'OP_FINISH'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Qty Manufactured'.
wafieldcatlog-reptext = 'Qty Manufactured'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Material Issued
v_index = v_index + 1.
wafieldcatlog-fieldname = 'OP_BOND'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Qty Issue'.
wafieldcatlog-reptext = 'Qty Issue'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Total
v_index = v_index + 1.
wafieldcatlog-fieldname = 'MENGE_FINI'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Closing Balance'.
wafieldcatlog-reptext = 'Closing Balance'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Material Description
v_index = v_index + 1.
wafieldcatlog-fieldname = 'MAKTX'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Material Description'.
wafieldcatlog-reptext = 'Material Description'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Storage Location
v_index = v_index + 1.
wafieldcatlog-fieldname = 'LGORT'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Storage Location'.
wafieldcatlog-reptext = 'Storage Location'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Goods Movement Direction
v_index = v_index + 1.
wafieldcatlog-fieldname = 'RISIND'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Goods Movement Direction'.
wafieldcatlog-reptext = 'Goods Movement Direction'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Reference Document 1
v_index = v_index + 1.
wafieldcatlog-fieldname = 'RDOC1'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Reference Document 1'.
wafieldcatlog-reptext = 'Reference Document 1'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Excise Duty Base Amount
v_index = v_index + 1.
wafieldcatlog-fieldname = 'EXBAS'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Excise Duty Base Amount'.
wafieldcatlog-reptext = 'Excise Duty Base Amount'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Basic Excise Duty
v_index = v_index + 1.
wafieldcatlog-fieldname = 'EXBED'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Basic Excise Duty'.
wafieldcatlog-reptext = 'Basic Excise Duty'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Additional Excise Duty
v_index = v_index + 1.
wafieldcatlog-fieldname = 'EXAED'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Additional Excise Duty'.
wafieldcatlog-reptext = 'Additional Excise Duty'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Special Excise Duty
v_index = v_index + 1.
wafieldcatlog-fieldname = 'EXSED'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Special Excise Duty'.
wafieldcatlog-reptext = 'Special Excise Duty'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Cess amount
v_index = v_index + 1.
wafieldcatlog-fieldname = 'CESS'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Cess amount'.
wafieldcatlog-reptext = 'Cess amount'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*ECS Value
v_index = v_index + 1.
wafieldcatlog-fieldname = 'ECS'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'ECS Value'.
wafieldcatlog-reptext = 'ECS Value'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
**Register Entry Status
v_index = v_index + 1.
wafieldcatlog-fieldname = 'STATUS'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Register Entry Status'.
wafieldcatlog-reptext = 'Register Entry Status'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
append wafieldcatlog to it_fieldcatalog.
clear wafieldcatlog-reptext.
clear wafieldcatlog-key.
*EQPT Serno 1 Value
v_index = v_index + 1.
wafieldcatlog-fieldname = 'SERNR'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Serial number'.
wafieldcatlog-reptext = 'Serial number'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*EQPT Serno 2 Value
v_index = v_index + 1.
wafieldcatlog-fieldname = 'SERNR1'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Serial number'.
wafieldcatlog-reptext = 'Serial number'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*EQPT Serno 3 Value
v_index = v_index + 1.
wafieldcatlog-fieldname = 'SERNR2'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Serial number'.
wafieldcatlog-reptext = 'Serial number'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*EQPT Serno 4 Value
v_index = v_index + 1.
wafieldcatlog-fieldname = 'SERNR3'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Serial number'.
wafieldcatlog-reptext = 'Serial number'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*EQPT Serno 5 Value
v_index = v_index + 1.
wafieldcatlog-fieldname = 'SERNR4'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Serial number'.
wafieldcatlog-reptext = 'Serial number'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*EQPT Serno 6 Value
v_index = v_index + 1.
wafieldcatlog-fieldname = 'SERNR5'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Serial number'.
wafieldcatlog-reptext = 'Serial number'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*EQPT Serno 7 Value
v_index = v_index + 1.
wafieldcatlog-fieldname = 'SERNR6'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Serial number'.
wafieldcatlog-reptext = 'Serial number'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
ENDFORM. " prepare_catalog
*& Module USER_COMMAND_0100 INPUT
text
MODULE user_command_0100 INPUT.
IF ok_code = 'EXIT'.
CALL METHOD grid1->free.
CALL METHOD cl_gui_cfw=>flush.
leave program .
LEAVE TO SCREEN 0.
ENDIF.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Form call_migo
text
--> p1 text
<-- p2 text
FORM call_migo .
CALL FUNCTION 'MIGO_DIALOG' "n547170
EXPORTING "n547170
i_action = 'A04' "n547170
i_refdoc = 'R02' "n547170
i_notree = 'X' "n547170
i_no_auth_check = ' ' "n547170
i_deadend = 'X' "n547170
i_skip_first_screen = 'X' "n547170
i_okcode = 'OK_GO' "n547170
i_mblnr = wa_alv-mblnr "n547170
i_mjahr = wa_alv-mjahr . "n547170
ENDFORM. " call_migoT.Code: MB5B
Regards,
Rajesh Banka
How to give points: Mark your thread as a question while creating it. In the answers you get, you can assign the points by clicking on the stars to the left. You also get a point yourself for rewarding (one per thread). -
How to find when a ztable gets populated?
Hi Folks,
Closing balance not carrying forward to Opening Balance-MM
Previously I posted a question with the above said subject.But couldn't get any right lead.
The problem is we have developed a zreport to get the RG1 summary of finished goods.For that the previous team who worked on this had copied the table
j_2irg1bal to z2irg1bal.I want to know when and how this ztable will get populated.
Can anyone here please go through the BOLD part of this code and let me know.
K.Kiran.
REPORT zxxx MESSAGE-ID z_apd.
*& Includes *
INCLUDE <icon>.
*& Tables *
TABLES : j_1irg1,
j_2irg1bal,
z2irg1bal,
ser03,
objk.
*& Selection Screen *
SELECTION-SCREEN : BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
PARAMETERS : p_exgrp TYPE j_1irg1-exgrp OBLIGATORY,
p_stdate LIKE sy-datum OBLIGATORY,
p_endate LIKE sy-datum OBLIGATORY.
SELECT-OPTIONS s_chapid FOR j_1irg1-chapid .
SELECTION-SCREEN : END OF BLOCK blk1.
*& Data Declaration *
Internal Tables
DATA : it_display TYPE TABLE OF zj1irg1,
it_final TYPE TABLE OF zj1irg1,
it_alv TYPE TABLE OF zj1irg1,
Work Areas
wa_display TYPE zj1irg1,
wa_alv TYPE zj1irg1,
it_display1 TYPE TABLE OF zj1irg1,
wa_display1 TYPE zj1irg1,
wa_alv1 TYPE zj1irg1.
DATA: BEGIN OF it_itab OCCURS 0.
INCLUDE STRUCTURE zj1irg1.
DATA: END OF it_itab.
DATA : BEGIN OF itab1 OCCURS 0,
matnr LIKE j_1irg1-matnr,
END OF itab1.
DATA : BEGIN OF itab2 OCCURS 0,
cpudt LIKE j_1irg1-cpudt,
END OF itab2.
DATA : BEGIN OF itab3 OCCURS 0.
INCLUDE STRUCTURE j_1irg1.
DATA: END OF itab3.
DATA : itab4 LIKE j_1irg1 OCCURS 0 WITH HEADER LINE,
itab5 LIKE j_1irg1 OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF itab6 OCCURS 0.
INCLUDE STRUCTURE j_1irg1.
DATA : sernr LIKE objk-sernr.
DATA: END OF itab6.
DATA : BEGIN OF itab61 OCCURS 0.
INCLUDE STRUCTURE j_1irg1.
DATA: sernr LIKE objk-sernr.
DATA: END OF itab61.
DATA : itab7 LIKE j_2irg1bal OCCURS 0 WITH HEADER LINE,
it_bal LIKE j_2irg1bal OCCURS 0 WITH HEADER LINE,
it_bal1 LIKE j_2irg1bal OCCURS 0 WITH HEADER LINE.
DATA: qty_menge LIKE j_1irg1-menge,
iss_menge LIKE j_1irg1-menge,
tot_menge LIKE j_1irg1-menge,
op_menge LIKE j_1irg1-menge,
matnr LIKE j_1irg1-matnr,
exgrp LIKE j_1irg1-exgrp ,
cpudt LIKE j_1irg1-cpudt.
*for checcking lines of itab
DATA: n1 TYPE i.
Others
DATA : v_bwart TYPE mseg-bwart,
v_index TYPE i,
v_index1 TYPE i,
count(4) TYPE n VALUE '0',
neg TYPE char1 VALUE '-',
menge TYPE char16,
count_1 TYPE i,
count_2 TYPE i,
count_3 TYPE i,
count12(4) TYPE n VALUE '0',
count13(4) TYPE n VALUE '0'.
*Ranges
RANGES: v_bwart1 FOR mseg-bwart.
For ALV Display
DATA : gs_variant TYPE disvariant,
gs_layout TYPE lvc_s_layo,
c_stk TYPE scrfname VALUE 'ZRG1',
custom_container TYPE REF TO cl_gui_custom_container.
CLASS lcl_event_receiver DEFINITION DEFERRED.
DATA : grid1 TYPE REF TO cl_gui_alv_grid,
event_receiver TYPE REF TO lcl_event_receiver,
ok_code TYPE sy-ucomm,
it_fieldcatalog TYPE lvc_t_fcat,
wafieldcatlog TYPE LINE OF lvc_t_fcat,
lt_rows TYPE lvc_t_row,
wa_rows TYPE LINE OF lvc_t_row.
*& Start of Selection *
START-OF-SELECTION.
IMPORT s_chapid FROM MEMORY ID 'SCHAPID'.
PERFORM get_data.
IF it_display[] IS INITIAL.
No Details Available
MESSAGE i017(z_apd) WITH text-005.
STOP.
ELSE.
Display the Details on the Screen
sort it_display by matnr.
*sort it_display by cpudt RISINDR RISINDI matnr.
<b>LOOP AT it_display INTO wa_display.
ON CHANGE OF wa_display-matnr.
*insert
*Check record exits
SELECT SINGLE * FROM z2irg1bal
WHERE
exgrp = exgrp AND
matnr = matnr AND
form = 'P' AND
cb_finish = tot_menge AND
datum = cpudt.
*If record does not exists
*Update balance Table.
IF count12 GE 1.
IF sy-subrc NE 0.
z2irg1bal-mandt = sy-mandt.
z2irg1bal-exgrp = exgrp.
z2irg1bal-matnr = matnr.
z2irg1bal-form = 'P'.
z2irg1bal-cb_finish = tot_menge.
z2irg1bal-datum = cpudt.
INSERT z2irg1bal ."values wa_display.
COMMIT WORK.
ENDIF.
Start of Insertion
IF sy-subrc EQ 0.
z2irg1bal-mandt = sy-mandt.
z2irg1bal-exgrp = exgrp.
z2irg1bal-matnr = matnr.
z2irg1bal-form = 'P'.
z2irg1bal-cb_finish = tot_menge.
z2irg1bal-datum = cpudt.
UPDATE z2irg1bal SET cb_finish = z2irg1bal-cb_finish
WHERE exgrp = z2irg1bal-exgrp AND
datum = z2irg1bal-datum AND
matnr = z2irg1bal-matnr AND
form = 'P'.
ENDIF.
End of Insertion.
ENDIF.</b>CLEAR: qty_menge,
iss_menge,
tot_menge,
count,
matnr,
cpudt,
exgrp.
ENDON.
loop at itab6.
AT NEW matnr.
v_index = 1.
count = count + 1 .
ENDAT.
IF v_index = 1.
CLEAR v_index.
*INsert for adding start
IF wa_display-risind = 'R'.
*wa_display-OP_FINISH = wa_display-OP_FINISH +
wa_display-CB_FINISH +
wa_display-MENGE.
wa_display-op_finish = wa_display-menge.
qty_menge = wa_display-op_finish.
IF wa_display-status = space.
tot_menge = tot_menge + qty_menge + wa_display-cb_finish .
ELSE.
tot_menge = tot_menge - qty_menge + wa_display-cb_finish.
ENDIF.
*tot_menge = op_menge.
op_menge = tot_menge.
ELSE.
*Qty Issued
wa_display-op_bond = wa_display-op_finish - wa_display-menge.
IF wa_display-op_bond LT 0.
iss_menge = wa_display-op_bond.
iss_menge = ABS( iss_menge ).
*Start of modification
tot_MENGE = tot_MENGE - iss_MENGE ."
IF count LE 1.
tot_menge = wa_display-cb_finish - iss_menge ."
ELSE.
tot_menge = tot_menge - iss_menge ."
ENDIF.
*End of modification
op_menge = tot_menge.
ENDIF.
ENDIF.
*wa_display-MENGE_FINI = wa_display-OP_FINISH - wa_display-OP_BOND.
*tot_MENGE = tot_MENGE + qty_MENGE - iss_MENGE .
wa_display-menge_fini = tot_menge.
**matnr for insert
matnr = wa_display-matnr.
*excise group
exgrp = wa_display-exgrp.
*Date
cpudt = wa_display-cpudt.
*Opening Balance
*Insert start
*if count le 1.
if wa_display-RISIND = 'R'.
wa_display-CB_FINISH = wa_display-CB_FINISH + qty_MENGE.
else.
wa_display-CB_FINISH = wa_display-CB_FINISH - iss_MENGE.
endif.
*endif.
*Insert End
IF count GT 1.
IF wa_display-risind = 'R'.
wa_display-cb_finish = tot_menge - qty_menge.
ELSE.
wa_display-cb_finish = tot_menge + iss_menge.
ENDIF.
ENDIF.
*check it_display-SERIALNO = wa_display-SERIALNO.
MODIFY it_display FROM wa_display.
*INsert for adding end
*move-corresponding wa_display to it_itab.
*append it_itab.
*check it_itab-SERIALNO = wa_display-SERIALNO.
*if sy-subrc = 0.
*endif.
*Insert to update closng to balance to Rg1bal table
*start
count12 = count12 + 1.
*for last record
AT LAST.
*Check record exits
SELECT SINGLE * FROM z2irg1bal
WHERE
exgrp = exgrp AND
matnr = matnr AND
form = 'P' AND
cb_finish = tot_menge AND
datum = cpudt.
*If record does not exists
*Update balance Table.
IF count12 GE 1.
IF sy-subrc NE 0.
z2irg1bal-mandt = sy-mandt.
z2irg1bal-exgrp = exgrp.
z2irg1bal-matnr = matnr.
z2irg1bal-form = 'P'.
z2irg1bal-cb_finish = tot_menge.
z2irg1bal-datum = cpudt.
INSERT z2irg1bal ."values wa_display.
COMMIT WORK.
Start of Insertion
IF sy-subrc EQ 0.
z2irg1bal-mandt = sy-mandt.
z2irg1bal-exgrp = exgrp.
z2irg1bal-matnr = matnr.
z2irg1bal-form = 'P'.
z2irg1bal-cb_finish = tot_menge.
z2irg1bal-datum = cpudt.
UPDATE z2irg1bal SET cb_finish = z2irg1bal-cb_finish
WHERE exgrp = z2irg1bal-exgrp AND
datum = z2irg1bal-datum AND
matnr = z2irg1bal-matnr AND
form = 'P'.
ENDIF.
End of Insertion
ENDIF.
ENDIF.
ENDAT.
*Insert to update closng to balance to Rg1bal table
*end
MOVE-CORRESPONDING wa_display TO wa_alv.
APPEND wa_alv TO it_alv.
append itab6 to it_alv.
ENDIF.
ENDLOOP.
loop at it_alv into wa_alv.
wa_alv-exgrp = wa_alv-exgrp.
wa_alv-SYEAR = wa_alv-syear.
wa_alv-SERIALNO = wa_alv-SERIALNO.
endloop.
EXPORT it_alv TO MEMORY ID 'ABCD'.
call screen 100.
ENDIF.
*& End of Selection *
END-OF-SELECTION.
*& Class Definition *
CLASS lcl_event_receiver DEFINITION.
PUBLIC SECTION.
METHODS:
handle_toolbar
FOR EVENT toolbar OF cl_gui_alv_grid
IMPORTING e_object e_interactive,
handle_user_command
FOR EVENT user_command OF cl_gui_alv_grid
IMPORTING e_ucomm,
handle_double_click
FOR EVENT double_click OF cl_gui_alv_grid
IMPORTING e_row e_column.
PRIVATE SECTION.
ENDCLASS. "lcl_event_receiver DEFINITION
*& Class Implementation *
CLASS lcl_event_receiver IMPLEMENTATION.
METHOD handle_toolbar.
Local Variables
DATA: ls_toolbar TYPE stb_button.
append a separator to normal toolbar
CLEAR ls_toolbar.
MOVE 3 TO ls_toolbar-butn_type.
APPEND ls_toolbar TO e_object->mt_toolbar.
append an icon to to show printing
CLEAR ls_toolbar.
MOVE 'PRINT' TO ls_toolbar-function.
MOVE icon_print TO ls_toolbar-icon.
MOVE 'Print Receipts' TO ls_toolbar-quickinfo.
MOVE ' Print' TO ls_toolbar-text.
MOVE ' ' TO ls_toolbar-disabled.
APPEND ls_toolbar TO e_object->mt_toolbar.
ENDMETHOD. " Handle_toolbar
METHOD handle_user_command.
CASE e_ucomm.
WHEN 'PRINT'.
REFRESH : lt_rows , it_final.
CALL METHOD grid1->get_selected_rows
IMPORTING
et_index_rows = lt_rows.
CALL METHOD cl_gui_cfw=>flush.
LOOP AT lt_rows INTO wa_rows.
READ TABLE it_alv INDEX wa_rows-index INTO wa_alv.
LOOP AT it_display INTO wa_display
WHERE mblnr = wa_alv-mblnr.
APPEND wa_display TO it_final.
ENDLOOP.
ENDLOOP.
perform display_form.
ENDCASE.
ENDMETHOD. "handle_user_command
METHOD handle_double_click.
IF e_column = 'MBLNR'.
READ TABLE it_alv INDEX e_row-index INTO wa_alv.
IF sy-subrc = 0.
REFRESH it_final.
LOOP AT it_display INTO wa_display
WHERE mblnr = wa_alv-mblnr.
APPEND wa_display TO it_final.
ENDLOOP.
PERFORM call_migo.
ENDIF.
ENDIF.
ENDMETHOD. "handle_double_click
ENDCLASS. "lcl_event_receiver IMPLEMENTATION
*& Form get_data
text
--> p1 text
<-- p2 text
FORM get_data .
*Select only for matnr and chapid from table
SELECT matnr FROM j_1irg1
APPENDING CORRESPONDING FIELDS OF TABLE itab1
WHERE exgrp = p_exgrp
AND
WERKS = P_WERKS
and
MATNR in s_MATNR
and
CPUDT in s_CPUDT.
cpudt BETWEEN p_stdate AND p_endate
AND
*Chapid
chapid IN s_chapid
ORDER BY matnr.
SORT itab1 BY matnr. " for performance
DELETE ADJACENT DUPLICATES FROM itab1 COMPARING matnr .
SELECT cpudt FROM j_1irg1
APPENDING CORRESPONDING FIELDS OF TABLE itab2
WHERE exgrp = p_exgrp
AND
cpudt BETWEEN p_stdate AND p_endate
AND
*Chapid
chapid IN s_chapid
ORDER BY cpudt.
SORT itab2 BY cpudt. " for Performance
DELETE ADJACENT DUPLICATES FROM itab2 COMPARING cpudt .
LOOP AT itab1.
LOOP AT itab2.
*on change of itab1-matnr or itab2-cpudt.
*select * from J_1IRG1
CLEAR itab3.
SELECT * FROM j_1irg1
*into itab3
APPENDING CORRESPONDING FIELDS OF TABLE itab3
WHERE matnr = itab1-matnr
AND
cpudt = itab2-cpudt.
*count = count + 1.
IF sy-subrc EQ 0.
LOOP AT itab3.
*count = count + 1.
*READ TABLE itab3 INDEX count."1.
IF itab3-risind = 'R'.
MOVE-CORRESPONDING itab3 TO itab4.
APPEND itab4.
DELETE itab3.
MOVE-CORRESPONDING itab4 TO itab6.
APPEND itab6.
CLEAR itab4.
ELSE.
MOVE-CORRESPONDING itab3 TO itab5.
APPEND itab5.
DELETE itab3.
MOVE-CORRESPONDING itab5 TO itab6.
APPEND itab6.
CLEAR itab5.
ENDIF.
ENDLOOP.
ENDIF.
*endon.
ENDLOOP.
ENDLOOP.
SELECT * FROM z2irg1bal
APPENDING CORRESPONDING FIELDS OF TABLE itab7
WHERE exgrp = p_exgrp
AND
datum LE p_stdate
ORDER BY datum.
SORT itab7 BY datum.
DELETE ADJACENT DUPLICATES FROM itab7 COMPARING datum .
*insert Start
LOOP AT itab6.
DELETE itab7 WHERE matnr NE itab6-matnr.
ENDLOOP.
*insert End
*insert Start
LOOP AT itab6.
CLEAR itab61. REFRESH itab61.
CLEAR wa_display.
MOVE-CORRESPONDING itab6 TO wa_display.
EQPT Serno
count13 = 1.
SELECT SINGLE obknr FROM ser03 INTO ser03-obknr WHERE
mblnr EQ itab6-mblnr
AND mjahr EQ itab6-mjahr.
IF sy-subrc EQ 0.
SELECT sernr FROM objk INTO CORRESPONDING
FIELDS OF TABLE itab61 WHERE
obknr EQ ser03-obknr.
DESCRIBE TABLE itab61 LINES n1.
*do N1 times.
LOOP AT itab61.
IF count13 EQ 1.
wa_display-sernr = itab61-sernr.
ENDIF.
IF count13 EQ 2.
wa_display-sernr1 = itab61-sernr.
ENDIF.
IF count13 EQ 3.
wa_display-sernr2 = itab61-sernr.
ENDIF.
IF count13 EQ 4.
wa_display-sernr3 = itab61-sernr.
ENDIF.
IF count13 EQ 5.
wa_display-sernr4 = itab61-sernr.
ENDIF.
IF count13 EQ 6.
wa_display-sernr5 = itab61-sernr.
ENDIF.
IF count13 EQ 7.
wa_display-sernr6 = itab61-sernr.
ENDIF.
if count13 eq 8.
objk-SERNR8 = objk-SERNR.
endif.
if count13 eq 9.
objk-SERNR9 = objk-SERNR.
endif.
count13 = count13 + 1.
endselect.
ENDLOOP.
*enddo.
ENDIF.
endif.
*End of Modification Eqpt Serial No
MOVE-CORRESPONDING itab6 TO wa_display.
SELECT * FROM z2irg1bal
APPENDING CORRESPONDING FIELDS OF TABLE it_bal1
WHERE matnr = itab6-matnr
AND datum LE p_stdate
AND exgrp = itab6-exgrp.
SORT it_bal1 DESCENDING .
READ TABLE it_bal1 INDEX 1.
ON CHANGE OF itab6-matnr .
wa_display-cb_finish = it_bal1-cb_finish.
ENDON.
AT LAST ."matnr.
wa_display-cb_finish = it_bal1-cb_finish.
ENDAT.
APPEND wa_display TO it_display .
CLEAR wa_display-cb_finish.
CLEAR it_bal1. REFRESH it_bal1.
ENDLOOP.
SELECT * FROM j_1irg1
APPENDING CORRESPONDING FIELDS OF TABLE it_itab
WHERE exgrp = p_exgrp
AND
cpudt BETWEEN p_stdate AND p_endate.
DESCRIBE TABLE it_itab[] LINES count_1.
count_3 = count_1 + 1.
DESCRIBE TABLE it_display[] LINES count_2.
IF it_display IS NOT INITIAL.
DELETE it_display FROM count_3 TO count_2.
ENDIF.
*start of insertion
DELETE it_display WHERE status = 'C'.
LOOP AT it_display INTO wa_display.
CLEAR wa_display-cb_finish.
MODIFY it_display FROM wa_display.
ON CHANGE OF wa_display-matnr .
SELECT * FROM z2irg1bal
INTO CORRESPONDING FIELDS OF TABLE it_bal1
WHERE matnr = wa_display-matnr
AND datum LE p_stdate
AND exgrp = wa_display-exgrp.
IF sy-subrc = 0.
SORT it_bal1 DESCENDING .
READ TABLE it_bal1 INDEX 1.
wa_display-cb_finish = it_bal1-cb_finish.
MODIFY it_display FROM wa_display.
ENDIF.
ENDON.
ENDLOOP.
*End of insertion
ENDFORM. " get_data
*& Module STATUS_0100 OUTPUT
text
MODULE status_0100 OUTPUT.
SET PF-STATUS 'ZRG1'.
SET TITLEBAR 'ZRG1'.
DATA: lt_exclude TYPE ui_functions.
IF custom_container IS INITIAL.
Create the Custom Container
CREATE OBJECT custom_container
EXPORTING
container_name = c_stk.
Create an instance of alv control
CREATE OBJECT grid1
EXPORTING
i_parent = custom_container.
Layout Settings
gs_layout-sel_mode = 'A'. " Multiple Lines
MOVE 'RG1 Register' TO gs_layout-grid_title.
Prepare the Field Catalog
PERFORM prepare_catalog.
To Exclude the PRINT Button from the Standard toolbar of ALV
PERFORM exclude_tb_functions CHANGING lt_exclude.
Display the List for ALV Display
CALL METHOD grid1->set_table_for_first_display
EXPORTING
it_toolbar_excluding = lt_exclude
is_layout = gs_layout
CHANGING
it_fieldcatalog = it_fieldcatalog[]
it_outtab = it_alv[].
CREATE OBJECT event_receiver.
SET HANDLER event_receiver->handle_user_command FOR grid1.
SET HANDLER event_receiver->handle_toolbar FOR grid1.
SET HANDLER event_receiver->handle_double_click FOR grid1.
CALL METHOD grid1->set_toolbar_interactive.
ENDIF.
CALL METHOD cl_gui_control=>set_focus
EXPORTING
control = grid1.
ENDMODULE. " STATUS_0100 OUTPUT
*& Form exclude_tb_functions
text
<--P_LT_EXCLUDE text
FORM exclude_tb_functions CHANGING pt_exclude TYPE ui_functions.
Local Varaibles
DATA ls_exclude TYPE ui_func.
ls_exclude = cl_gui_alv_grid=>mc_fc_print.
APPEND ls_exclude TO pt_exclude.
ENDFORM. " exclude_tb_functions
*& Form prepare_catalog
text
--> p1 text
<-- p2 text
FORM prepare_catalog .
DATA : v_index TYPE i.
*Entry Date
v_index = v_index + 1.
wafieldcatlog-fieldname = 'CPUDT'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'RG1 Entry Date'.
wafieldcatlog-reptext = 'RG1 Entry Date'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Serial No
v_index = v_index + 1.
wafieldcatlog-fieldname = 'SERIALNO'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'RG1 serial number'.
wafieldcatlog-reptext = 'RG1 serial number'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
v_index = v_index + 1.
wafieldcatlog-fieldname = 'CHAPID'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Chapter ID'.
wafieldcatlog-reptext = 'Chapter ID'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
v_index = v_index + 1.
wafieldcatlog-fieldname = 'MBLNR'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Number of Material Document'.
wafieldcatlog-reptext = 'Number of Material Document'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Item
v_index = v_index + 1.
wafieldcatlog-fieldname = 'ZEILE'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Item in Material Document'.
wafieldcatlog-reptext = 'Item in Material Document'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
v_index = v_index + 1.
wafieldcatlog-fieldname = 'BWART'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Movement Type'.
wafieldcatlog-reptext = 'Movement Type'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
v_index = v_index + 1.
wafieldcatlog-fieldname = 'MENGE'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Quantity'.
wafieldcatlog-reptext = 'Quantity'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
wafieldcatlog-DO_SUM = 'X'.
append wafieldcatlog to it_fieldcatalog.
clear wafieldcatlog-reptext.
clear wafieldcatlog-key.
*Base Unit of Measure
v_index = v_index + 1.
wafieldcatlog-fieldname = 'MEINS'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Base Unit of Measure'.
wafieldcatlog-reptext = 'Base Unit of Measure'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
wafieldcatlog-do_sum = 'X'.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
v_index = v_index + 1.
wafieldcatlog-fieldname = 'RISIND'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Goods Movement Direction'.
wafieldcatlog-reptext = 'Goods Movement Direction'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Material Number
v_index = v_index + 1.
wafieldcatlog-fieldname = 'MATNR'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Material Number'.
wafieldcatlog-reptext = 'Material Number'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*CB_FINISH
v_index = v_index + 1.
wafieldcatlog-fieldname = 'CB_FINISH'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Opening Balance'.
wafieldcatlog-reptext = 'Opening Balance'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*materail manufactured
v_index = v_index + 1.
wafieldcatlog-fieldname = 'OP_FINISH'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Qty Manufactured'.
wafieldcatlog-reptext = 'Qty Manufactured'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Material Issued
v_index = v_index + 1.
wafieldcatlog-fieldname = 'OP_BOND'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Qty Issue'.
wafieldcatlog-reptext = 'Qty Issue'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Total
v_index = v_index + 1.
wafieldcatlog-fieldname = 'MENGE_FINI'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Closing Balance'.
wafieldcatlog-reptext = 'Closing Balance'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Material Description
v_index = v_index + 1.
wafieldcatlog-fieldname = 'MAKTX'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Material Description'.
wafieldcatlog-reptext = 'Material Description'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Storage Location
v_index = v_index + 1.
wafieldcatlog-fieldname = 'LGORT'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Storage Location'.
wafieldcatlog-reptext = 'Storage Location'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Goods Movement Direction
v_index = v_index + 1.
wafieldcatlog-fieldname = 'RISIND'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Goods Movement Direction'.
wafieldcatlog-reptext = 'Goods Movement Direction'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Reference Document 1
v_index = v_index + 1.
wafieldcatlog-fieldname = 'RDOC1'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Reference Document 1'.
wafieldcatlog-reptext = 'Reference Document 1'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Excise Duty Base Amount
v_index = v_index + 1.
wafieldcatlog-fieldname = 'EXBAS'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Excise Duty Base Amount'.
wafieldcatlog-reptext = 'Excise Duty Base Amount'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Basic Excise Duty
v_index = v_index + 1.
wafieldcatlog-fieldname = 'EXBED'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Basic Excise Duty'.
wafieldcatlog-reptext = 'Basic Excise Duty'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Additional Excise Duty
v_index = v_index + 1.
wafieldcatlog-fieldname = 'EXAED'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Additional Excise Duty'.
wafieldcatlog-reptext = 'Additional Excise Duty'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Special Excise Duty
v_index = v_index + 1.
wafieldcatlog-fieldname = 'EXSED'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Special Excise Duty'.
wafieldcatlog-reptext = 'Special Excise Duty'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*Cess amount
v_index = v_index + 1.
wafieldcatlog-fieldname = 'CESS'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Cess amount'.
wafieldcatlog-reptext = 'Cess amount'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*ECS Value
v_index = v_index + 1.
wafieldcatlog-fieldname = 'ECS'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'ECS Value'.
wafieldcatlog-reptext = 'ECS Value'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
**Register Entry Status
v_index = v_index + 1.
wafieldcatlog-fieldname = 'STATUS'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Register Entry Status'.
wafieldcatlog-reptext = 'Register Entry Status'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
append wafieldcatlog to it_fieldcatalog.
clear wafieldcatlog-reptext.
clear wafieldcatlog-key.
*EQPT Serno 1 Value
v_index = v_index + 1.
wafieldcatlog-fieldname = 'SERNR'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Serial number'.
wafieldcatlog-reptext = 'Serial number'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*EQPT Serno 2 Value
v_index = v_index + 1.
wafieldcatlog-fieldname = 'SERNR1'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Serial number'.
wafieldcatlog-reptext = 'Serial number'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*EQPT Serno 3 Value
v_index = v_index + 1.
wafieldcatlog-fieldname = 'SERNR2'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Serial number'.
wafieldcatlog-reptext = 'Serial number'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*EQPT Serno 4 Value
v_index = v_index + 1.
wafieldcatlog-fieldname = 'SERNR3'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Serial number'.
wafieldcatlog-reptext = 'Serial number'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*EQPT Serno 5 Value
v_index = v_index + 1.
wafieldcatlog-fieldname = 'SERNR4'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Serial number'.
wafieldcatlog-reptext = 'Serial number'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*EQPT Serno 6 Value
v_index = v_index + 1.
wafieldcatlog-fieldname = 'SERNR5'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Serial number'.
wafieldcatlog-reptext = 'Serial number'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
*EQPT Serno 7 Value
v_index = v_index + 1.
wafieldcatlog-fieldname = 'SERNR6'.
wafieldcatlog-tabname = 'IT_ALV'.
wafieldcatlog-seltext = 'Serial number'.
wafieldcatlog-reptext = 'Serial number'.
wafieldcatlog-hotspot = ' '.
wafieldcatlog-col_pos = v_index.
APPEND wafieldcatlog TO it_fieldcatalog.
CLEAR wafieldcatlog-reptext.
CLEAR wafieldcatlog-key.
ENDFORM. " prepare_catalog
*& Module USER_COMMAND_0100 INPUT
text
MODULE user_command_0100 INPUT.
IF ok_code = 'EXIT'.
CALL METHOD grid1->free.
CALL METHOD cl_gui_cfw=>flush.
leave program .
LEAVE TO SCREEN 0.
ENDIF.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Form call_migo
text
--> p1 text
<-- p2 text
FORM call_migo .
CALL FUNCTION 'MIGO_DIALOG' "n547170
EXPORTING "n547170
i_action = 'A04' "n547170
i_refdoc = 'R02' "n547170
i_notree = 'X' "n547170
i_no_auth_check = ' ' "n547170
i_deadend = 'X' "n547170
i_skip_first_screen = 'X' "n547170
i_okcode = 'OK_GO' "n547170
i_mblnr = wa_alv-mblnr "n547170
i_mjahr = wa_alv-mjahr . "n547170
ENDFORM. " call_migoThanks,
K.Kiran -
ABAP DUMP - DYNPRO_FIELD_CONVERSION !!!
Hii SAP Expert,
I having a problem when diplaying the material document using reservation number, below is the abap dump error from sap, could anyone tell me what is the problem ?
Runtime Error DYNPRO_FIELD_CONVERSION
Date and Time 31.12.2007 17:49:41
<removed by moderator as the content doesnt help to understand the problem>
Error analysis
The program flow was interrupted and could not be resumed.
Program "SAPLMIGO" tried to display fields on screen 0370. However, an
error occurred while this data was being converted.
How to correct the error
A conversion error occurred while the program was trying to
display data on the screen.
The ABAP output field and the screen field may not have the
same format.
Some field types require more characters on the screen than
in the ABAP program. For example, a date field on a screen needs
two characters more than it would in the program. When attempting to
display the date on the screen, an error will occur that triggers the
error message.
Screen name.............. "SAPLMIGO"
Screen number............ 0370
Screen field............. "GOITEM-VMENG"
Error text............... "FX015: Sign lost."
Further data:
<removed by moderator as the content doesnt help to understand the problem> |
"DYNPRO_FIELD_CONVERSION" " "
"SAPLMIGO" bzw. "LMIGOPBO"
"PBO_DETAIL_RESERVATION"
System environment
SAP Release.............. "640"
Application server....... "pecprd00"
Network address.......... "192.168.1.122"
Operating system......... "HP-UX"
Release.................. "B.11.23"
Hardware type............ "ia64"
Character length......... 16 Bits
Pointer length........... 64 Bits
Work process number...... 2
Short dump setting....... "full"
Database server.......... "pesbdbci"
Database type............ "ORACLE"
Database name............ "ECP"
Database owner........... "SAPECP"
Character set............ "C"
SAP kernel............... "640"
Created on............... "Mar 21 2007 20:14:03"
Created in............... "HP-UX B.11.23 U ia64"
Database version......... "OCI_920 "
Patch level.............. "175"
Patch text............... " "
Supported environment....
Database................. "ORACLE 9.2.0.., ORACLE 10.1.0.., ORACLE
10.2.0.."
SAP database version..... "640"
Operating system......... "HP-UX B.11"
Memory usage.............
Roll..................... 16192
EM....................... 33518720
Heap..................... 0
Page..................... 425984
MM Used.................. 7977808
MM Free.................. 399024
SAP Release.............. "640"
User and Transaction
Client.............. 900
User................ "GHAZALM"
Language key........ "E"
Transaction......... "/DBM/ORDER03 "
Program............. "SAPLMIGO"
Screen.............. "SAPLMIGO 0370"
Screen line......... 0
Information on where terminated
The termination occurred in the ABAP program "SAPLMIGO" in
"PBO_DETAIL_RESERVATION".
The main program was "MB_CALL_MIGO_DIALOG ".
The termination occurred in line 296 of the source code of the (Include)
program "LMIGOPBO"
of the source code of program "LMIGOPBO" (when calling the editor 2960).
Source Code Extract
Line
SourceCde
266
ENDMODULE. " PBO_DETAIL_ORDER OUTPUT
267
268
*& Module PBO_DETAIL_TRANSFER OUTPUT
269
270
MODULE pbo_detail_transfer OUTPUT.
271
CALL METHOD oref_detail_transfer->pbo.
272
ENDMODULE. " PBO_DETAIL_TRANSFER OUTPUT
273
274
*& Module PBO_BOM_POPUP OUTPUT
275
276
MODULE pbo_bom_popup OUTPUT.
277
CALL METHOD oref_bom->pbo.
278
ENDMODULE. " PBO_BOM_POPUP OUTPUT
279
280
*& Module PBO_DEFAULTS_LOOP OUTPUT
281
282
MODULE pbo_defaults_loop OUTPUT.
283
CALL METHOD oref_defaults->pbo_loop.
284
ENDMODULE. " PBO_DEFAULTS_LOOP OUTPUT
285
286
*& Module PBO_SEARCH_RES OUTPUT
287
288
MODULE pbo_search_res OUTPUT.
289
CALL METHOD oref_search->pbo.
290
ENDMODULE. " PBO_SEARCH_RES OUTPUT
291
292
*& Module PBO_DETAIL_RESERVATION OUTPUT
293
294
MODULE pbo_detail_reservation OUTPUT.
295
CALL METHOD oref_detail_reservation->pbo.
>>>>>
ENDMODULE. " PBO_DETAIL_RESERVATION OUTPUT
297
298
299
*& Module PBO_DETAIL_TAKEIT OUTPUT
300
301
MODULE pbo_detail_takeit OUTPUT.
302
CALL METHOD oref_detail_takeit->pbo.
303
ENDMODULE. " PBO_DETAIL_TAKEIT OUTPUT
304
305
*& Module PBO_DETAIL_PARTNERS OUTPUT
306
307
Detail Tabstrip Partners
308
309
MODULE pbo_detail_partners OUTPUT.
310
CALL METHOD oref_detail_partners->pbo.
311
ENDMODULE. " PBO_DETAIL_PARTNERS OUTPUT
312
313
*& Module PBO_DETAIL_DEST_SUB_SELECT OUTPUT
314
315
MODULE pbo_detail_dest_sub_select OUTPUT.
Contents of system fields
Name
Val.
SY-SUBRC
0
SY-INDEX
0
SY-TABIX
0
SY-DBCNT
1
SY-FDPOS
40
SY-LSIND
0
SY-PAGNO
0
SY-LINNO
1
SY-COLNO
1
SY-PFKEY
MIGO_STATUS
SY-UCOMM
SY-TITLE
Display Material Document 4901380914 - Ghazali Musa
SY-MSGTY
E
SY-MSGID
DA
SY-MSGNO
300
SY-MSGV1
SY-MSGV2
SY-MSGV3
SY-MSGV4
Active Calls/Events
No. Ty. Program Include Line
Name
3 MODULE (PBO) SAPLMIGO LMIGOPBO 296
PBO_DETAIL_RESERVATION
2 FUNCTION SAPLMIGO LMIGOU02 225
MIGO_DIALOG
1 EVENT MB_CALL_MIGO_DIALOG MB_CALL_MIGO_DIALOG 37
START-OF-SELECTION
Chosen variables
Name
Val.
No. 3 Ty. MODULE (PBO)
Name PBO_DETAIL_RESERVATION
%_DUMMY$$
0000
0000
2222
0000
OREF_DETAIL_RESERVATION
A0000005
70000008
No. 2 Ty. FUNCTION
Name MIGO_DIALOG
I_ACTION
A04
000
000
433
104
I_DEADEND
X
0
0
5
8
I_EBELN
0000000000
0000000000
2222222222
0000000000
I_EBELP
00000
00000
00000
33333
00000
I_INBOUND_DELIV
0000000000
0000000000
2222222222
0000000000
I_LEAVE_AFTER_POST
0
0
2
0
I_MBLNR
4901380914
0000000000
0000000000
3333333333
4901380914
I_MJAHR
0000
0000
0000
3333
0000
I_NEW_ROLLAREA
0
0
2
0
I_NOTREE
X
0
0
5
8
I_NO_AUTH_CHECK
0
0
2
0
I_OKCODE
OK_GO
00000000000000000000
00000000000000000000
44544222222222222222
FBF7F000000000000000
I_ORDER_ITEM
0000
0000
0000
3333
0000
I_ORDER_NUMBER
000000000000
000000000000
222222222222
000000000000
I_OUTBOUND_DELIV
0000000000
0000000000
2222222222
0000000000
I_REFDOC
R02
000
000
533
202
I_RESERVATION_ITEM
0000
0000
0000
3333
0000
I_RESERVATION_NUMB
0000000000
0000000000
0000000000
3333333333
0000000000
I_SKIP_FIRST_SCREEN
X
0
0
5
8
I_SYTCODE
/DBM/ORDER03
00000000000000000000
00000000000000000000
24442454453322222222
F42DFF24520300000000
I_TRANSPORT
0000000000
0000000000
2222222222
0000000000
I_TRANSPORTIDENT
00000000000000000000
00000000000000000000
22222222222222222222
00000000000000000000
I_TRANSPORT_MEANS
0000
0000
2222
0000
I_ZEILE
0000
0000
0000
3333
0000
SY
#######################(###############j#########(#################################(#### C####
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000007000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100
0000000000000000000000020000000000000006000000000200000000000000000000000000010900020008240000
000000010000000000000108010001000000000A0000000008000000000000000000000000000A000008000003000C
LCL_MIGO_GLOBALS=>EXTERNAL_CALL_EBELP
00000
00000
00000
33333
00000
LCL_MIGO_GLOBALS=>EXTERNAL_CALL_MBLNR
4901380914
0000000000
0000000000
3333333333
4901380914
SPACE
0
0
2
0
LCL_MIGO_GLOBALS=>EXTERNAL_CALL_MJAHR
0000
0000
0000
3333
0000
LCL_MIGO_GLOBALS=>EXTERNAL_CALL_ZEILE
0000
0000
0000
3333
0000
LCL_MIGO_GLOBALS=>EXTERNAL_CALL_TRANSPORT
0000000000
0000000000
2222222222
0000000000
LCL_MIGO_GLOBALS=>EXTERNAL_CALL_ORDER_NUMBER
000000000000
000000000000
222222222222
000000000000
LCL_MIGO_GLOBALS=>EXTERNAL_CALL_ORDER_ITEM
0000
0000
0000
3333
0000
LCL_MIGO_GLOBALS=>EXTERNAL_CALL_TRANSPORT_MEANS
0000
0000
2222
0000
RL50E
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
LCL_MIGO_GLOBALS=>EXTERNAL_CALL_TRANSPORTIDENT
00000000000000000000
00000000000000000000
22222222222222222222
00000000000000000000
LCL_MIGO_GLOBALS=>EXTERNAL_CALL_INBOUND_DELIV
0000000000
0000000000
2222222222
0000000000
LCL_MIGO_GLOBALS=>EXTERNAL_CALL_OUTBOUND_DELIV
0000000000
0000000000
2222222222
0000000000
LCL_MIGO_GLOBALS=>EXTERNAL_CALL_RESERVATION_NUMB
0000000000
0000000000
0000000000
3333333333
0000000000
LCL_MIGO_GLOBALS=>EXTERNAL_CALL_RESERVATION_ITEM
0000
0000
0000
3333
0000
SY-REPID
SAPLMIGO
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
5454444422222222222222222222222222222222
310CD97F00000000000000000000000000000000
LCL_MIGO_GLOBALS=>EXTERNAL_CALL_ACTIVE
X
0
0
5
8
ABAP_TRUE
X
0
0
5
8
LCL_MIGO_GLOBALS=>EXTERNAL_CALL_LEAVE_AFTER_POST
0
0
2
0
LCL_MIGO_GLOBALS=>EXTERNAL_CALL_FIRST_ROUND
0
0
2
0
GOSEARCH_RES
00000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2222222222222222222222222222222222222222333333332222222222222222222222222222222222222222222222
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
No. 1 Ty. EVENT
Name START-OF-SELECTION
I_NOTREE
X
0
0
5
8
I_IN_DEL
0000000000
0000000000
2222222222
0000000000
I_LEAVE_
0
0
2
0
VARI
###00000000000000 ############
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2222222222222222222222222222222222222222222222222222222222200033333333333333222222000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
I_MBLNR
4901380914
0000000000
0000000000
3333333333
4901380914
I_MJAHR
0000
0000
0000
3333
0000
I_NEW_RO
0
0
2
0
I_NO_AUT
0
0
2
0
I_OKCODE
OK_GO
00000000000000000000
00000000000000000000
44544222222222222222
FBF7F000000000000000
%_I_ACTION_%_APP_%
I_ACTION
000000000000000000000000000000
000000000000000000000000000000
454454442222222222222222222222
9F1349FE0000000000000000000000
I_ORDERI
0000
0000
0000
3333
0000
I_ACTION
A04
000
000
433
104
I_ORDERN
000000000000
000000000000
222222222222
000000000000
%_I_NOTREE_%_APP_%
I_NOTREE
000000000000000000000000000000
000000000000000000000000000000
454455442222222222222222222222
9FEF42550000000000000000000000
I_OUT_DE
0000000000
0000000000
2222222222
0000000000
SY-XFORM
CONVERSION_EXIT
000000000000000000000000000000
000000000000000000000000000000
444545544454545222222222222222
3FE65239FEF5894000000000000000
I_REFDOC
R02
000
000
533
202
%_I_NO_AUT_%_APP_%
I_NO_AUT
000000000000000000000000000000
000000000000000000000000000000
454454552222222222222222222222
9FEFF1540000000000000000000000
I_RES_IT
0000
0000
0000
3333
0000
I_RES_NU
0000000000
0000000000
0000000000
3333333333
0000000000
I_SKIP_F
X
0
0
5
8
I_SYTCOD
/DBM/ORDER03
00000000000000000000
00000000000000000000
24442454453322222222
F42DFF24520300000000
SY-LDBPG
SAPDB__S
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
5454455522222222222222222222222222222222
31042FF300000000000000000000000000000000
I_TRANSP
0000000000
0000000000
2222222222
0000000000
%_I_REFDOC_%_APP_%
I_REFDOC
000000000000000000000000000000
000000000000000000000000000000
455444442222222222222222222222
9F2564F30000000000000000000000
I_TR_IDE
00000000000000000000
00000000000000000000
22222222222222222222
00000000000000000000
I_TR_MEA
0000
0000
2222
0000
I_ZEILE
0000
0000
0000
3333
0000
%_DUMMY$$
0000
0000
2222
0000
%_I_SKIP_F_%_APP_%
I_SKIP_F
000000000000000000000000000000
000000000000000000000000000000
455445542222222222222222222222
9F3B90F60000000000000000000000
SY-REPID
MB_CALL_MIGO_DIALOG
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
4454444544445444444222222222222222222222
D2F31CCFD97FF491CF7000000000000000000000
SY-SUBRC
0
0000
0000
%_SSCR[]
Table IT_0[24x492]
\PROGRAM=MB_CALL_MIGO_DIALOG\DATA=%_SSCR[]
Table reference: 0
TABH+ 0(20) = C000000251801770000000000000000000000000
TABH+ 20(20) = 000000000000000000000018000001ECFFFFFFFF
TABH+ 40(16) = 04000000000003B000202CC021000000
store = 0xC000000251801770
ext1 = 0x0000000000000000
shmId = 0 (0x00000000)
id = 0 (0x00000000)
label = 0 (0x00000000)
fill = 24 (0x00000018)
leng = 492 (0x000001EC)
loop = -1 (0xFFFFFFFF)
xtyp = TYPE#000006
occu = 32 (0x00000020)
access = 1 (ItAccessStandard)
idxKind = 1 (ItIndexLinear)
uniKind = 2 (ItUniqueNon)
keyKind = 1 (default)
cmpMode = 8 (cmpManyEq)
occu0 = 0
collHash = 0
groupCntl = 0
rfc = 0
unShareable = 0
mightBeShared = 1
sharedWithShmTab = 0
isShmLockId = 0
gcKind = 0
isUsed = 1
>>>>> Shareable Table Header Data <<<<<
tabi = 0xC0000002518A66C0
pghook = 0x0000000000000000
idxPtr = 0xC000000251801B50
refCount = 2 (0x00000002)
tstRefCount = 0 (0x00000000)
lineAdmin = 32 (0x00000020)
lineAlloc = 32 (0x00000020)
store_id = 2 (0x00000002)
shmIsReadOnly = 0 (0x00000000)
>>>>> 1st level extension part <<<<<
regHook = Not allocated
hsdir = Not allocated
ext2 = Not allocated
>>>>> 2nd level extension part <<<<<
tabhBack = Not allocated
delta_head = Not allocated
pb_func = Not allocated
pb_handle = Not allocated
Internal notes
The termination occurred in the function "dynpconv.c" of the SAP
Basis System, specifically in line 701 of the module
"//bas/640_REL/src/krn/dynp/dybas.c#5".
The internal operation just processed is "ENDM".
The internal session was started at 20071231174940.
Application server....... "pecprd00"
Network address.......... "192.168.1.122"
Operating system ........ "HP-UX"
Release.................. "B.11.23"
Hardware type............ "ia64"
Database server.......... "pesbdbci"
Database type............ "ORACLE"
Database name............ "ECP"
Database user ID......... "SAPECP"
triggers this error message.
Screen name.............. "SAPLMIGO"
Screen number............ 0370
Screen field............. "GOITEM-VMENG"
Error text............... "FX015: Sign lost."
Additional data:
Application server....... "pecprd00"
Network address.......... "192.168.1.122"
Operating system......... "HP-UX"
Release.................. "B.11.23"
Hardware type............ "ia64"
Database server.......... "pesbdbci"
Database type............ "ORACLE"
Database name............ "ECP"
Database user ID........ "SAPECP"
Active Calls in SAP Kernel
Lines of C Stack in Kernel (Structure Differs on Each Platform)
(0) 0x40000000017dab60 CTrcStack2 + 0x1b0 [dw.sapECP_DVEBMGS10]
(1) 0x40000000017da970 CTrcStack + 0x30 [dw.sapECP_DVEBMGS10]
(2) 0x4000000002373150 Z16rabaxCStackSavev + 0x1d0 [dw.sapECP_DVEBMGS10]
(3) 0x400000000236f3b0 ab_rabax + 0x2d20 [dw.sapECP_DVEBMGS10]
(4) 0x40000000017efdf0 dyHandleError + 0x300 [dw.sapECP_DVEBMGS10]
(5) 0x40000000018ec770 dypcnvoXt + 0x3410 [dw.sapECP_DVEBMGS10]
(6) 0x40000000018e9330 dypcnvo + 0x30 [dw.sapECP_DVEBMGS10]
(7) 0x40000000018b29c0 dynpdco0 + 0x1e0 [dw.sapECP_DVEBMGS10]
(8) 0x40000000018b91c0 dynprctl + 0x390 [dw.sapECP_DVEBMGS10]
(9) 0x40000000018a5c30 dynpen00 + 0x910 [dw.sapECP_DVEBMGS10]
(10) 0x4000000001513620 Thdynpen00 + 0x460 [dw.sapECP_DVEBMGS10]
(11) 0x40000000014e3b60 TskhLoop + 0x46d0 [dw.sapECP_DVEBMGS10]
(12) 0x40000000014da820 tskhstart + 0x3a0 [dw.sapECP_DVEBMGS10]
(13) 0x40000000013b6e50 DpMain + 0x490 [dw.sapECP_DVEBMGS10]
(14) 0x40000000013b1b40 main + 0x70 [dw.sapECP_DVEBMGS10]
(15) 0xc00000000002fb20 main_opd_entry + 0x50 [/usr/lib/hpux64/dld.so]
List of ABAP programs affected
Index
Ty.
Program
Group
Date
Time
Size
Lang.
0
Prg
MB_CALL_MIGO_DIALOG
0
18.09.2001
10:17:04
55296
E
1
Prg
SAPMSSY0
1
10.08.2006
17:27:06
83968
E
2
Prg
SAPMSSYD
1
10.08.2006
17:30:43
20480
E
3
Prg
SAPFSYSCALLS
1
06.11.2003
20:52:59
7168
E
4
Prg
RSDBRUNT
0
12.11.2004
14:03:37
254976
E
5
Typ
RSSCR
0
: m:15
5120
6
Prg
RSDBSPBL
0
06.11.2003
20:56:48
72704
E
7
Prg
SAPDB__S
0
06.11.2003
20:52:58
18432
E
8
Typ
VARID
0
12.05.1997
16:51:30
5120
9
Prg
%_CSYDB0
0
06.11.2003
20:52:42
35840
E
10
Prg
RSDBSPVA
0
10.08.2006
17:09:03
129024
E
11
Typ
RSVAMEMKEY
0
07.05.1997
13:07:49
2048
12
Prg
RSDBSPMC
0
10.08.2006
16:45:25
78848
E
13
Typ
DDSHDESCR
0
03.09.1997
03:05:16
4096
14
Typ
SPPARAMS
0
07.05.1997
13:10:38
2048
15
Typ
SPPARAMS
0
07.05.1997
13:10:38
2048
16
Prg
SAPLICON
16
12.11.2004
13:50:21
27648
E
17
Prg
%_CICON
16
16.03.2004
20:13:52
100352
E
18
Prg
SAPLSABE
18
06.11.2003
20:53:04
13312
E
19
Prg
SAPLSECU
19
10.08.2006
17:27:59
76800
E
20
Typ
RSSUBINFO
0
14.10.1999
22:01:03
3072
21
Typ
RSEXFCODE
0
13.08.1997
12:52:57
2048
22
Prg
SAPLDSYA
22
06.11.2003
20:53:01
45056
E
23
Prg
SAPFSDS1
22
06.11.2003
20:53:24
52224
E
24
Typ
TDCLD
0
02.11.1998
09:51:35
5120
25
Prg
SAPLSDOD
25
10.08.2006
17:29:56
45056
E
26
Typ
DOKIL
0
12.05.1997
16:46:17
3072
27
Prg
SAPCNVE
27
06.11.2003
20:52:58
8192
E
28
Prg
SAPLLANG
28
06.11.2003
20:53:03
10240
E
29
Typ
T002
0
14.02.1998
10:24:58
2048
30
Prg
SAPFSPOR
0
11.08.2006
10:35:34
14336
E
31
Typ
RSPARINT
0
10.04.1995
09:58:38
2048
32
Prg
SAPLKGJH
32
06.11.2003
20:53:03
10240
E
33
Prg
SAPLSCNT
33
06.11.2003
20:53:04
30720
E
34
Typ
DYCBOX
0
20.08.1998
11:16:53
3072
35
Prg
SAPLSVSM
35
10.08.2006
17:26:59
29696
E
36
Prg
SAPLSGUI
36
12.11.2004
13:59:56
76800
E
37
Prg
SAPLSTTM
37
10.08.2006
16:44:18
86016
E
38
Prg
SAPLSBDC
38
10.08.2006
16:54:12
45056
E
39Hi,
In the screen 370 of your module pool, go to the properties of the field which is having a negative value displayed.. (Ex: Currency fields), we see a text with all underscores. ___________
Change it to _________V
Remove last underscore and put V
Hope it solves your problem.
Regards
Sailaja. -
Terminating Event for BUS2017 Custom Method
Dear Experts,
I have an issue with the Terminating Event of the Workflow for BO : BUS2017. The event is getting triggered but receiver is not being picked.
I have created two events GR_103 and POST_105 in the Custom BO ZBUS2017 by delegating it to BUS2017. GR_103 is the triggering event for my workflow which I have triggered in the POST_DOCUMENT Method of the Implmentation for BADI : MB_MIGO_BADI.
GR_103 is triggered while doing MIGO (Goods Receipt) for Movement Type 103. My Workflow is triggered perfectly and then I have used a Dialog Asynchronous Task in which I have called the MIGO Transaction for Releasing the GR Blokced Stock using the Movement Type 105. I have created a Custom Method POST in the BO ZBUS2017 and I have used the FM: MIGO_DIALOG to call the MIGO. I am trying to raise the POST_105 event in the Method MB_DOCUMENT_BEFORE_UPDATE of the Interface IF_EX_MB_DOCUMENT_BADI. I have defined the Terminating Event for the asynchronous Task as POST_105.
Now the event POST_105 is triggered, but SWEL says 'No receiver entered'. Even the SWEINST shows the object data as the current Work Item along with Object Key, but still receiver not picked. When I try to trigger the same event in a test report by using call transaction, then the event triggers and work item gets completed without any issues.
Please advise.
Below is my terminating event code.
READ TABLE xmseg INTO wa_mseg INDEX 1.
CONCATENATE wa_mseg-mblnr wa_mseg-mjahr INTO l_objkey.
IF wa_mseg-bwart = '105' .
CALL FUNCTION 'SWE_EVENT_CREATE'
EXPORTING
objtype = 'BUS2017'
objkey = l_objkey
event = 'POST_105'
EXCEPTIONS
objtype_not_found = 1
OTHERS = 2.
ENDIF.
Regards,
Raju.Have a COMMIT WORK after the function call. (At least test it - I am not sure if it will have some effects in your BADI - at least you will know whether the issue is about missing commit).
And please use SAP_WAPI_CREATE_EVENT instead of the old function you are using.
Also, make sure that the events will look exactly the same in event monitor SWEL when triggered from your code and when using test tool. Maybe there is some minor difference/mistake (object key, etc.) that you haven't noticed.
Regards,
Karri
Edited by: Karri Kemppi on Feb 7, 2012 8:14 AM -
Call Transaction "MIGO" in display mode only
Hi friends,
I have changed the standard the SAP standard program MB51 to a Customer Program 'ZMB51' based upon the user requirement.Iam able to get all the values (output)
Now my requirement is .... iam trying to call transaction "MIGO" when the user clicks on the Material Document Number (MBLNR) (as how in Standard program)
I ve used "ALV_GRID..." display. and given a callback_user_command also .... iam able to call the trasaction ...... but it is editable and not in the display mode ..........
Here my code :
FORM SY_UCOMM_FOR_MBLNR USING R_UCOMM LIKE SY-UCOMM RS_SELFIELD TYPE
SLIS_SELFIELD.
IF RS_SELFIELD-FIELDNAME EQ 'MBLNR'.
IF NOT RS_SELFIELD-VALUE IS INITIAL AND
RS_SELFIELD-VALUE NE SY-ULINE.
CALL TRANSACTION 'MIGO'.
ENDIF.
IF R_UCOMM EQ SPACE.
ENDIF.
ENDIF.
ENDFORM. " SY_UCOMM_FOR_MBLNR
So ??????????????????
What is the remedy ????
Expecting ur answers....
Thanks in Advance
Cheers,
R.Kripa.Hi ... it is solved ...
I ve changed the code as how it was in MB51 report.
Here is my code
FORM SY_UCOMM_FOR_MBLNR USING R_UCOMM LIKE SY-UCOMM RS_SELFIELD TYPE
SLIS_SELFIELD.
CASE RS_SELFIELD-TABNAME.
WHEN 'I_FINAL'.
READ TABLE I_FINAL INDEX RS_SELFIELD-TABINDEX.
ENDCASE.
CHECK SY-SUBRC = 0 .
IF R_UCOMM = '&IC1'.
CHECK RS_SELFIELD-TABNAME = 'I_FINAL'.
CASE RS_SELFIELD-FIELDNAME.
WHEN 'MBLNR'.
SET PARAMETER ID 'MBN' FIELD I_FINAL-MBLNR.
SET PARAMETER ID 'POS' FIELD I_FINAL-ZEILE.
SET PARAMETER ID 'MJA' FIELD I_FINAL-MJAHR.
ENDCASE.
IF SY-SUBRC = 0.
SELECT SINGLE * FROM MKPF
WHERE MBLNR = I_FINAL-MBLNR
AND MJAHR = I_FINAL-MJAHR.
IF SY-SUBRC = 0.
MIGO_DIALOG is a funcion module to set the MIGO transaction
in Display mode.
CALL FUNCTION 'MIGO_DIALOG'
EXPORTING
I_ACTION = 'A04'
I_REFDOC = 'R02'
I_NOTREE = 'X'
I_NO_AUTH_CHECK = ' '
I_DEADEND = 'X'
I_SKIP_FIRST_SCREEN = 'X'
I_OKCODE = 'OK_GO'
I_MBLNR = I_FINAL-MBLNR
I_MJAHR = I_FINAL-MJAHR
I_ZEILE = I_FINAL-ZEILE.
ENDIF.
ENDIF.
ENDIF.
But still if anyone knows how to call MIGo transaction i Display mode using 'CALL TRANSACTION 'MIGO''.
Thanks friends,
Cheers
R.Krpia. -
Dear All,
I am using call transaction 'MIGO' in report.If i click on MBLNR number of report output then it lead to MIGO transaction.
I use the following code.
SET PARAMETER ID 'MBN' FIELD I_VALUE.
CALL TRANSACTION 'MIGO' AND SKIP FIRST SCREEN.
I am passing the MBLNR values into I_VALUE variable.
It is not working fine.
If i choose A04 Display , R02 Materail document and MBLNR number in MIGO transaction and run the progarm then above piece of code is working fine.
If i choose other values instead of A04 Display , R02 Materail document in MIGO transaction and run the report above piece of code is not working.
The Above piece is not working it showing latest values selected in MIGO transaction only.
Please let me know the solution for this.
Thanks.
Regards,
Simha.check with this
CALL FUNCTION 'MIGO_DIALOG'
EXPORTING
I_ACTION = 'A04'
I_REFDOC = 'R02'
I_NOTREE = 'X'
I_NO_AUTH_CHECK = ' '
I_DEADEND = 'X'
I_SKIP_FIRST_SCREEN = 'X'
I_OKCODE = 'OK_GO'
I_MBLNR = I_FINAL-MBLNR
I_MJAHR = I_FINAL-MJAHR
I_ZEILE = I_FINAL-ZEILE. -
To display migo by call transaction through ALV
Hai,
I have developed an ALV report in which I am calling some transactions( PO, MIGO,MIR4) to display the documents. but by calling MIGO it is going to create a new goods recept insted of displaying the document. I need how to cal the transaction to display a material document.
ThanksCall directly the FM [MIGO_DIALOG|https://www.sdn.sap.com/irj/scn/advancedsearch?cat=sdn_all&query=migo_dialog&adv=true&sdn_author_name=&sortby=cm_rnd_rankvalue] passing I_MBLNR, I_MJAHR and I_ZEILE parameters. (Default value should give you a display dialog)
* Extract from RM07DOCS
CALL FUNCTION 'MIGO_DIALOG'
EXPORTING
i_action = 'A04'
i_refdoc = 'R02'
i_notree = 'X'
i_no_auth_check = ' '
i_deadend = 'X'
i_skip_first_screen = 'X'
i_okcode = 'OK_GO'
i_mblnr = list-mblnr
i_mjahr = list-mjahr
i_zeile = list-zeile.
Regards -
Error in GR for Sub-Contract PO
Hi,
When i carry out GR for Sub-Contract PO, system showing below message
Programming error: data already aggregated
Message no. AG223
Diagnosis
The material data for the document is already available in aggregated form in the internal tables. This means that it is not possible to call DELTA_MANAGEMENT for this document.Are you using CATT or eCATT ?
If yes, This may raise error message AG223
Please read attached note 304122.
Transaction MIGO does not support CATT, which is based on CALL TRANSACTION / batch-input techniques.
Instead, use for example BAPI_GOODSMVT_CREATE or CALL FUNCTION 'MIGO_DIALOG' (see function documentation in SE37).
Hope this helps,
Cheers!
Plauto -
Standrad Function Module Missing
Hi,
When i try to post Goods receipt in MIGO It is throwing a dump saying " Function Module ANLBZW_CREATE_TRANSFER Not found ".
Can any body help me regarding thishi,
I guess you are working on a 4.7 or ECC 5 systems.
The funciton module you have mentioned you can find it in ECC 6 system but with
NOT RELEASED status.
This means that this function module hasn't yet been given released status by SAP.
If you have ECC6 system, GOTO SE11--> RODIR --> check for this function module.
You get a message that no entries exist. This means that it is not yet a released object hence not preferred to use.
For your requirement try out with MIGO_DIALOG.
Thanks
Sharath
Maybe you are looking for
-
Window resizing and how to keep the window at that size.
Having trouble with the applications window not staying the same size after I resize it. I know that dragging the corner will resize as well as the green button, but after I close it, it reverts back the small window and not to the resized window aft
-
In imovie '08 in the viewing screen there is a white box behind my video instead of it showing in the whole screen like it used to. Even when i try to play the movie in full screen that white box is still behind the movie. I dont know what setting I
-
Regarding ABAP dump in ALV reports
hi all, we are migrating the report programs from 4.7 to ECC...some of the reports am getting ABAP dump like this.....INCORRECT VALUE IN THE DYNAMIC TABLE.....if i comment the sort portion in grid display or list display function module..output
-
Import XML Page through Unix Box
Hi, I have created say xxx.xml page. Now I want to import this in database, so I am using import command from command prompt C:\jdev\jdevbin\jdev\bin. So to Import any page, I would require C:\jdev\jdevbin\jdev\bin and import utility on my local mach
-
Wait events releated to GLOBAL CASH
HI Guys can anybody please provide me the metalink docs or online docs related to wait events related to global cash. Thanks Vijay