Wednesday, June 27, 2018
Create, Update, Delete, Read Using Container in Screen Painter
first things first, you need to create the screen, and on that screen make container with name 'CONT_1'.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 | *******************************
DATA:
g_container TYPE scrfname VALUE 'CONT_1',
grid1 TYPE REF TO cl_gui_alv_grid,
g_custom_container TYPE REF TO cl_gui_custom_container.
*******************************
MODULE user_command_0400 INPUT.
CASE sy-ucomm.
WHEN 'CHANGE'.
SET PF-STATUS 'ALV1'.
WHEN 'SAVE'.
* Lock the table
CALL FUNCTION 'ENQUEUE_E_TABLE'
EXPORTING
mode_rstable = 'E'
tabname = 'ZTBFI0020' "viewname
EXCEPTIONS
foreign_lock = 1
system_failure = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
IF NOT grid1 IS INITIAL .
CALL METHOD grid1->check_changed_data .
ENDIF .
SORT i_mod BY row.
DELETE ADJACENT DUPLICATES FROM i_mod COMPARING row.
lh_norec = LINES( i_mod ).
lh_total = lh_norec.
SHIFT lh_total LEFT DELETING LEADING space.
* Standard Table Update
IF i_mod[] IS NOT INITIAL.
LOOP AT i_mod INTO lwa_mod.
READ TABLE <i_itab> INTO <wa_tab> INDEX lwa_mod-row.
IF sy-subrc = 0 .
IF lh_flag NE 'X'.
ASSIGN COMPONENT 'TBLTYPE' OF STRUCTURE <wa_tab> to <ttype>.
IF <ttype> is ASSIGNED.
<ttype> = '1'.
ENDIF.
MODIFY ZTBFI0020 FROM <wa_tab>.
* MODIFY (viewname) FROM <wa_tab>.
ELSE.
ASSIGN COMPONENT 'TBLTYPE' OF STRUCTURE <wa_tab> to <ttype>.
IF <ttype> is ASSIGNED.
<ttype> = '1'.
ENDIF.
INSERT ZTBFI0020 FROM <wa_tab>.
* INSERT (viewname) FROM <wa_tab>.
IF sy-subrc NE 0.
* MESSAGE e009.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
CONCATENATE lh_total ' ' text-s01 INTO lh_succ SEPARATED BY space.
* MESSAGE i000 WITH lh_succ.
MESSAGE text-001 type 'S'.
ELSE.
* MESSAGE i000 WITH text-s02.
MESSAGE text-002 type 'S'.
ENDIF.
* Unlock the table
CALL FUNCTION 'DEQUEUE_E_TABLE'
EXPORTING
mode_rstable = 'E'
tabname = 'ZTBFI0020' ."viewname.
CLEAR : i_mod[],
lh_flag.
WHEN 'DELETE'.
* Selecting Selected Rows
PERFORM handle_user_command USING sy-ucomm.
IF i_del[] IS NOT INITIAL.
LOOP AT i_del INTO lwa_del.
READ TABLE <i_itab> INTO <wa_tab> INDEX lwa_del-row.
IF sy-subrc = 0.
DELETE ZTBFI0020 FROM <wa_tab>.
* DELETE (viewname) FROM <wa_tab>.
ENDIF.
ENDLOOP.
lh_totdel = LINES( i_del ).
* MESSAGE i011 WITH lh_totdel.
MESSAGE text-003 type 'S'.
CLEAR : i_del[], lh_totdel .
ELSE.
* MESSAGE i000 WITH text-s03.
MESSAGE text-002 type 'S'.
ENDIF.
WHEN 'EXIT' OR '&F03' or '&F04' or '&F05' or
'BACK' OR
'CANCEL'.
CLEAR : li_fieldcat[],
i_exclude[],
i_del[],
lh_totdel.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_0400 INPUT
*&---------------------------------------------------------------------*
*& Module STATUS_0400 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0400 OUTPUT.
SET PF-STATUS 'STATUS_TABL'.
SET TITLEBAR 'Entry Value Pengukuran Kembali'.
*DATA :
* gr_event_handler TYPE REF TO lcl_event_handler .
* Creating an instance for the event handler
CREATE OBJECT gr_event_handler .
TRY.
* CREATE DATA i_table TYPE ZTBFI0020.
CREATE DATA i_table TYPE TABLE OF ('ZTBFI0020').
ASSIGN i_table->* TO <i_itab>.
CREATE DATA wa_all LIKE LINE OF <i_itab>.
ASSIGN wa_all->* TO <wa_tab>.
* Selecting data dynamically
SELECT * FROM ZTBFI0020 INTO TABLE <i_itab> WHERE TBLTYPE eq '1'.
* SELECT * FROM (viewname) INTO TABLE <i_itab>.
* Building the fieldcatelog
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'ZTBFI0020' " viewname
CHANGING
ct_fieldcat = li_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
READ TABLE li_fieldcat INTO lwa_fieldcat WITH KEY fieldname = 'MONAT'.
IF sy-subrc eq 0.
lwa_fieldcat-OUTPUTLEN = '6'.
MODIFY li_fieldcat FROM lwa_fieldcat INDEX sy-tabix TRANSPORTING OUTPUTLEN.
ENDIF.
READ TABLE li_fieldcat INTO lwa_fieldcat WITH KEY fieldname = 'TBLTYPE'.
IF sy-subrc eq 0.
lwa_fieldcat-tech = 'X'.
MODIFY li_fieldcat FROM lwa_fieldcat INDEX sy-tabix TRANSPORTING tech.
ENDIF.
CLEAR lwa_fieldcat.
READ TABLE li_fieldcat INTO lwa_fieldcat WITH KEY fieldname = 'ZNUMC'.
IF sy-subrc eq 0.
lwa_fieldcat-col_pos = '3'.
lwa_fieldcat-OUTPUTLEN = '6'.
MODIFY li_fieldcat FROM lwa_fieldcat INDEX sy-tabix TRANSPORTING col_pos OUTPUTLEN.
ENDIF.
CLEAR lwa_fieldcat.
READ TABLE li_fieldcat INTO lwa_fieldcat WITH KEY fieldname = 'BUKRS'.
IF sy-subrc eq 0.
lwa_fieldcat-col_pos = '6'.
MODIFY li_fieldcat FROM lwa_fieldcat INDEX sy-tabix TRANSPORTING col_pos.
ENDIF.
ENDIF.
* Making fields editable except key fields
IF sy-ucomm = 'UPD' OR sy-ucomm = 'CHANGE'.
LOOP AT li_fieldcat INTO lwa_fieldcat.
IF lwa_fieldcat-key = space.
lwa_fieldcat-edit = 'X'.
MODIFY li_fieldcat FROM lwa_fieldcat.
ENDIF.
ENDLOOP.
ENDIF.
* Making fields editable
IF sy-ucomm = 'NEW'.
LOOP AT li_fieldcat INTO lwa_fieldcat.
lwa_fieldcat-edit = 'X'.
MODIFY li_fieldcat FROM lwa_fieldcat.
ENDLOOP.
lh_flag = 'X'.
CLEAR : <i_itab>.
DO 100 TIMES.
APPEND <wa_tab> TO <i_itab>.
ENDDO.
ENDIF.
* Exclude buttons
PERFORM exclude_tb_functions CHANGING i_exclude.
IF g_custom_container IS INITIAL.
CREATE OBJECT g_custom_container
EXPORTING
container_name = g_container.
CREATE OBJECT grid1
EXPORTING
i_parent = g_custom_container.
ENDIF.
* Making all fields non-editable if display mode
IF sy-ucomm = 'SHOW'.
LOOP AT li_fieldcat INTO lwa_fieldcat.
lwa_fieldcat-edit = ' '.
MODIFY li_fieldcat FROM lwa_fieldcat.
ENDLOOP.
ENDIF.
IF sy-ucomm = 'SAVE'.
LOOP AT li_fieldcat INTO lwa_fieldcat.
IF lwa_fieldcat-key NE space.
lwa_fieldcat-edit = space.
MODIFY li_fieldcat FROM lwa_fieldcat.
ENDIF.
ENDLOOP.
ENDIF.
* Displaying ALV Grid
CALL METHOD grid1->set_table_for_first_display
EXPORTING
i_structure_name = 'ZTBFI0020' "viewname
it_toolbar_excluding = i_exclude
CHANGING
it_outtab = <i_itab>
it_fieldcatalog = li_fieldcat.
IF sy-subrc NE 0.
EXIT.
ENDIF.
CALL METHOD grid1->SET_GRIDTITLE
EXPORTING
I_GRIDTITLE = 'Entry Value Pengukuran Kembali'.
* Getting the changed data
SET HANDLER gr_event_handler->handle_data_changed FOR grid1 .
CATCH cx_sy_create_data_error.
ENDTRY.
ENDMODULE. " STATUS_0400 OUTPUT
|
Sunday, March 4, 2018
Analyze SAP Workflow
Well, hello again guys, this time i will show you how to analyze SAP Workflow easily.
starting from tcode SBWP and you will get the following result.
after you manage to find the workflow just right clicked and choose 'Display Workflow Log'
you will see the Workflow Log Screen, tried to find the issue and click Graphical Protocol.
in this screen you should see many green lines, and it looks like the green lines has stopped somewhere.
after this click extras and click Call Workflow Builder. (It should send you to another realms. 👺👺👺)
tried to find an issue, maybe where's the greenline has stopped. double click on that node.
it should take you to this screen.click on that eye-glasses icon to see whats beneath.
there you go, grab a paper and write this-two-down.
Now Open Tcode SWO1 and input the Object Type and Click Test.
read your paper and see what method does the workflow use, and click execute method
last but not least, here you go, its just like Function Module, fill this in and execute, you should get the same error which the workflow have.
have fun.
Tuesday, November 29, 2016
Upload Result Recording
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 | SELECT * FROM QALS INTO TABLE i_QALS
WHERE prueflos IN S_IIN AND
enstehdat IN S_CO AND
werk IN S_PL AND
art IN S_IT AND
matnr IN S_MN AND
pastrterm IN s_iibdt AND
paendterm IN s_iiedt AND
slwbez ne space .
* ART eq 'Z3'.
SELECT * FROM QASE INTO TABLE I_QASE
WHERE prueflos IN S_IIN AND
probenr IN s_ipn .
SELECT * FROM jest INTO TABLE i_jest
FOR ALL ENTRIES IN i_QALS
WHERE objnr = i_qals-objnr AND inact eq space AND
( stat eq 'I0212 ' or stat eq 'I0002').
LOOP AT i_QALS INTO s_QALS .
READ TABLE i_jest WITH KEY objnr = s_qals-objnr TRANSPORTING NO FIELDS .
IF sy-subrc ne 0.
delete i_QALS WHERE objnr eq s_QALS-objnr .
ENDIF.
ENDLOOP.
SELECT * FROM MAKT INTO TABLE i_makt
FOR ALL ENTRIES IN i_qals
WHERE matnr eq i_qals-SELMATNR AND spras eq 'En'.
SELECT * FROM qamv INTO TABLE i_qamv
FOR ALL ENTRIES IN i_qals
WHERE prueflos eq i_qals-prueflos.
LOOP AT I_QALS INTO S_QALS.
G_INSPLOT = S_QALS-prueflos.
G_HANDHELD = ''.
CALL FUNCTION 'BAPI_INSPOPER_GETLIST'
EXPORTING
INSPLOT = G_INSPLOT
HANDHELD_APPLICATION = G_HANDHELD
IMPORTING
RETURN = G_RETURN
RETURN2 = G_RETURN2
TABLES
INSPOPER_LIST = I_INSPOPER
HANDHELD_WORKLIST = I_HANDHELD
.
IF G_RETURN-type ne 'S'.
CONTINUE.
ELSE.
CLEAR g_tbx. DESCRIBE TABLE I_INSPOPER LINES g_tbx.
ENDIF.
loop at I_INSPOPER into S_INSPOPER.
* S_EXCEL-inspection_lot_number = s_qals-PRUEFLOS .
CONCATENATE ' ' ''s_qals-PRUEFLOS INTO S_EXCEL-inspection_lot_number.
* CONCATENATE '=TEXT(0,"'s_qals-PRUEFLOS'")' INTO S_EXCEL-inspection_lot_number.
S_EXCEL-material_number = s_qals-SELMATNR .
s_excel-operation = S_INSPOPER-inspoper.
s_excel-operation_description = S_INSPOPER-txt_oper.
* s_excel-insp_point = s_qals-PRUEFLOS.
READ TABLE i_makt INTO s_makt WITH KEY matnr = s_qals-SELMATNR.
IF sy-subrc eq 0.
S_EXCEL-material_number_desc = s_makt-MAKTX.
ENDIF.
g_insplot2 = s_qals-PRUEFLOS.
G_inspoper = S_INSPOPER-inspoper.
CALL FUNCTION 'BAPI_INSPOPER_GETDETAIL'
EXPORTING
insplot = g_insplot2 " s_qals-PRUEFLOS
inspoper = G_inspoper " S_INSPOPER-inspoper
READ_INSPPOINTS = 'X'
READ_CHAR_REQUIREMENTS = 'X'
READ_CHAR_RESULTS = 'X'
READ_SAMPLE_RESULTS = 'X'
READ_SINGLE_RESULTS = 'X'
READ_CHARS_WITH_CLASSES = 'X'
READ_CHARS_WITHOUT_RECORDING = 'X'
RES_ORG = ' '
CHAR_FILTER_NO = '1 '
CHAR_FILTER_TCODE = 'QE11'
MAX_INSPPOINTS = 100
INSPPOINT_FROM = 0
HANDHELD_APPLICATION = ' '
RESULT_COPY = ' '
IMPORTING
OPERATION = G_OPERATION
INSPPOINT_REQUIREMENTS = G_INSPPOINT_REQUIREMENTS
RETURN = g_RETURN3
TABLES
INSPPOINTS = i_INSPPOINTS
CHAR_REQUIREMENTS = i_CHAR_REQUIREMENTS
CHAR_RESULTS = i_CHAR_RESULTS
SAMPLE_RESULTS = i_SAMPLE_RESULTS
SINGLE_RESULTS = i_SINGLE_RESULTS
.
READ TABLE i_CHAR_REQUIREMENTS INTO s_CHAR_REQUIREMENTS INDEX 1.
IF sy-subrc eq 0.
S_EXCEL-mic_code = s_char_requirements-mstr_char.
READ TABLE i_qamv INTO s_qamv WITH KEY verwmerkm = S_EXCEL-mic_code.
IF sy-subrc eq 0.
*s_excel-upper = s_qamv-TOLERANZOB .
WRITE s_qamv-TOLERANZOB to g_c1.
WRITE s_qamv-TOLERANZUN to g_c2.
SPLIT g_c1 at ',' INTO g_c3 g_c4.
SPLIT g_c2 at ',' INTO g_c5 g_c6.
* CONCATENATE '=TEXT(0,"'g_c3'")' INTO s_excel-upper.
CONCATENATE '' ''g_c3 INTO s_excel-upper.
CONCATENATE '' ''g_c5 INTO s_excel-lower.
* CONCATENATE '=TEXT(0,"'g_c5'")' INTO s_excel-lower.
*s_excel-lower = s_qamv-TOLERANZUN .
S_EXCEL-mic_description = s_qamv-kurztext.
S_EXCEL-number_or_sample = s_qamv-sollstpumf. CONDENSE S_EXCEL-number_or_sample.
S_EXCEL-uom = s_CHAR_REQUIREMENTS-meas_unit.
if s_qamv-pmethode IS INITIAL.
* s_excel-insp_method_code = ''.
CLEAR s_excel-insp_method_code.
else.
s_excel-insp_method_code = s_qamv-pmethode.
endif.
CONDENSE s_excel-insp_method_code.
s_excel-insp_methode_desc = ''.
APPEND s_excel to i_excel.
ENDIF.
ENDIF.
ENDLOOP.
ENDLOOP.
|
Example Upload Infotypes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | FORM F_UPLOAD_INFOTYPE_0015 USING VALUE(P_0272)
P_LI_HR STRUCTURE ZTA_HR_ADDPAYMNT
CHANGING P_LI_HR_LOG
P_LI_HR_STATUS.
DATA :
px_infty TYPE PRELP-INFTY,
px_number TYPE P0001-PERNR ,
px_subtype TYPE P0001-SUBTY ,
px_OBJECTID TYPE P0001-OBJPS ,
px_LOCKINDICATOR TYPE P0001-SPRPS ,
px_VALIDITYEND TYPE P0001-ENDDA ,
px_validitybegin TYPE P0001-BEGDA ,
px_RECORDNUMBER TYPE P0001-SEQNR ,
px_record TYPE p0015,c ,
px_operation TYPE PSPAR-ACTIO ,
px_TCLAS TYPE PSPAR-TCLAS ,
px_DIALOG_MODE TYPE C VALUE '0' , "DEFAULT 'A'
px_nocommit TYPE c ,
* px_VIEW_IDENTIFIER TYPE BAPI_STAND-NO_COMMIT ,
* px_SECONDARY_RECORD TYPE P0003-VIEKN ,
px_return TYPE BAPIRETURN1 , "STRUCTURE BAPIRETURN1 "OPTIONAL
px_key TYPE BAPIPAKEY ,
px3_number TYPE bapip0001-pernr ,
px3_return TYPE bapireturn1 ,
lx4_wait TYPE bapita-wait ,
lx4_retn TYPE bapiret2 .
.
px_infty = '0015'.
px3_number = px_number = P_LI_HR-pernr.
px_subtype = P_LI_HR-SUBTY.
px_validitybegin = P_LI_HR-BEGDA.
P_LI_HR-BETRG = P_LI_HR-BETRG / 100.
MOVE-CORRESPONDING P_LI_HR to px_record.
px_operation = 'INS'.
px_nocommit = 'X'.
CALL FUNCTION 'BAPI_EMPLOYEE_ENQUEUE'
EXPORTING
NUMBER = px3_number
IMPORTING
RETURN = px3_return
.
if px3_return-TYPE ne 'E'.
CALL FUNCTION 'HR_INFOTYPE_OPERATION'
EXPORTING
infty = px_infty
number = px_number
subtype = px_subtype
* OBJECTID = px_OBJECTID
* LOCKINDICATOR = px_LOCKINDICATOR
* VALIDITYEND = px_VALIDITYEND
validitybegin = px_validitybegin
* RECORDNUMBER = px_RECORDNUMBER
record = px_record
operation = px_operation
* TCLAS = px_TCLAS
* DIALOG_MODE = px_DIALOG_MODE
nocommit = px_nocommit
* VIEW_IDENTIFIER = px_VIEW_IDENTIFIER
* SECONDARY_RECORD = px_SECONDARY_RECORD
IMPORTING
return = px_return
key = px_key.
IF px_return-type IS INITIAL.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = lx4_wait
IMPORTING
return = lx4_retn.
* ENDIF.
p_li_hr_status = '@08@'.
p_li_hr_log = 'Success updated Additional Payment'.
ELSE.
* p_li_hr_log = 'Additional Payment Failed'.
p_li_hr_log = px_return-MESSAGE.
p_li_hr_status = '@0A@'.
ENDIF.
*px3_number =
CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'
EXPORTING
number = px3_number
IMPORTING
return = px3_return.
ELSE.
p_li_hr_log = 'Pernr is being used.'.
p_li_hr_status = '@0A@'.
ENDIF.
|
Maintaining HRP Table Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | FORM F_UPD5 TABLES PT_0105 "STRUCTURE < GT_0009 #local# > "Insert a correct name for <...> USING G_CP flag. *TABLES : PPLOG,P1001. DATA: lv_flag TYPE c, gv_BUFFER_C TYPE i, gv_BUFFO_OB TYPE i, gv_PLOG_TAB TYPE i VALUE '2', gv_TB_BUFFE TYPE i, gv_TB_PLOG_ TYPE i, gv_type TYPE x VALUE '0000000000', gv_typec(10) TYPE c, i_BUFFER_TAB TYPE TABLE OF HRBUFFER , s_BUFFER_TAB TYPE HRBUFFER , i_BUFFO_TAB TYPE TABLE OF P1000 , s_BUFFO_TAB TYPE P1000 , i_PLOG_TAB_TAB TYPE TABLE OF HRDBTAB , S_PLOG_TAB_TAB TYPE HRDBTAB , i_TB_BUFFER_TAB TYPE TABLE OF HRTBUFFER , i_TB_PLOG_TAB_TAB TYPE TABLE OF HRTBUFFER , S_0105 TYPE PA0105, G_CPC(10) TYPE C, gv_data(45) type c, gv_prozt TYPE prozt VALUE '0.00', gv_pc(40) TYPE c, gv_tab TYPE char30 VALUE 'P1001', lv_tabix TYPE sy-tabix, s_hrp5585 TYPE p5585, i_hrp5585 TYPE TABLE OF p5585, g_pernr type BAPIP0001-PERNR . FIELD-SYMBOLS : <P1001_VDATA> TYPE hrip1001. FIELD-SYMBOLS : <PPNNN>,<sclas>,<sobid>, <wplog_hlp> type any. DATA : GV_VTASK LIKE HRRHAP-VTASK VALUE 'D', GV_COMMIT_FLG LIKE HRRHAP-COMMIT_FLG VALUE 'X'. READ TABLE PT_0105 INTO S_0105 INDEX 1. CHECK S_0105 IS NOT INITIAL. **FOR CENTRAL PERSON s_BUFFO_TAB-PLVAR = '01'. s_BUFFO_TAB-OTYPE = 'CP'. s_BUFFO_TAB-objid = g_cp. s_BUFFO_TAB-infty = '1000'. s_BUFFO_TAB-ISTAT = '1'. s_BUFFO_TAB-begda = sy-datum. s_BUFFO_TAB-endda = '99991231'. s_BUFFO_TAB-langu = 'E'. s_BUFFO_TAB-aedtm = sy-datum. s_BUFFO_TAB-uname = sy-uname. APPEND S_BUFFO_TAB to I_BUFFO_TAB. CLEAR lv_tabix. S_PLOG_TAB_TAB-plvar = '01'. S_PLOG_TAB_TAB-otype = 'CP'. S_PLOG_TAB_TAB-objid = g_cp. S_PLOG_TAB_TAB-infty = '5585'. S_PLOG_TAB_TAB-istat = '1'. S_PLOG_TAB_TAB-begda = sy-datum. S_PLOG_TAB_TAB-endda = '99991231'. S_PLOG_TAB_TAB-aedtm = sy-datum. S_PLOG_TAB_TAB-uname = sy-uname. S_PLOG_TAB_TAB-opera = 'I'. S_PLOG_TAB_TAB-PRIMARY_WF = 'X'. APPEND S_PLOG_TAB_TAB to i_PLOG_TAB_TAB . CLEAR S_PLOG_TAB_TAB . GV_BUFFO_OB = 1. GV_plog_tab = 1. CALL FUNCTION 'RH_SET_BUFFER_PLOG_TAB' EXPORTING buffer_count_imp = gv_BUFFER_C buffo_object_count_imp = gv_BUFFO_OB plog_tab_count_imp = gv_PLOG_TAB tb_buffer_count_imp = gv_TB_BUFFE tb_plog_tab_count_imp = gv_TB_PLOG_ TABLES buffer_tab = i_BUFFER_TAB buffo_tab = i_BUFFO_TAB plog_tab_tab = i_PLOG_TAB_TAB tb_buffer_tab = i_TB_BUFFER_TAB tb_plog_tab_tab = i_TB_PLOG_TAB_TAB. IF SY-SUBRC EQ 0. * lv_flag = 'X'. * EXPORT lv_flag to MEMORY id sy-uname. CALL FUNCTION 'RH_UPDATE_DATABASE' EXPORTING vtask = GV_VTASK commit_flg = GV_COMMIT_FLG "VWMCOMMIT clear_buffer = ' ' EXCEPTIONS corr_exit = 04. MOVE-CORRESPONDING S_0105 to s_hrp5585. s_hrp5585-plvar = '01'. s_hrp5585-otype = 'CP'. s_hrp5585-objid = g_cp. s_hrp5585-istat = '1'. s_hrp5585-begda = sy-datum. s_hrp5585-endda = '99991231'. s_hrp5585-infty = '5583'. s_hrp5585-AEDTM = sy-datum. s_hrp5585-UNAME = sy-uname. CLEAR s_hrp5585-subty. APPEND s_hrp5585 to i_hrp5585. CALL FUNCTION 'RH_UPDATE_INFTY' EXPORTING VTASK = 'D' * ORDER_FLG = 'X' * COMMIT_FLG = 'X' * AUTHY = 'X' * PPPAR_IMP = * OLD_TABNR_NEW_LANGU = ' ' REPID = sy-cprog * FORM = ' ' * KEEP_LUPD = * WORKF_ACTV = 'X' TABLES INNNN = i_hrp5585[] * ILFCODE = EXCEPTIONS ERROR_DURING_UPDATE = 1 NO_AUTHORIZATION = 2 REPID_FORM_INITIAL = 3 CORR_EXIT = 4 OTHERS = 5 . IF SY-SUBRC <> 0. * Implement suitable error handling here ELSE. flag = 'X'. ENDIF. ENDIF. ENDFORM. |
Sunday, October 4, 2015
Webdynpro Tutorial (Part 1)
well, hello again folks,
this time i'll share you about the webdynpro simple tutorial that you able to try at home...
(Warning: You have been warned, Try this at home... LOL)
here goes..
this time i'll share you about the webdynpro simple tutorial that you able to try at home...
(Warning: You have been warned, Try this at home... LOL)
here goes..
and here's my result
Subscribe to:
Posts (Atom)














































