Completed PO Created in R/3 Need to be deleted in APO
Hi All,
We have some cases of R/3 created POs (PP/DS) which are in complete status in R/3 but they are still visible in product view in APO.
The delta report doesn't catch these POs since we have exhaustively used userexits and custom programs in CIF.
We can use /SAPAPO/DELETE_PP_ORDER for these POs but the POs dont get deleted from version 000 through this report.
Pls advise if there is any way to delete these POs apart from the intial CIF transfer of PRPO and apart from using the BAPI: BAPI_POSRVAPS_REMOVEITEMS
Thanks
Sachin
Message was edited by:
Sachin Nagpal
Hi Harish,
Using a BAPI would basically mean a new development. I was looking for an option where SAP wld have provided some way to handle this without any new development. Utility DELETE_PP_ORDER fails in 000 otherwsie it was a good option.
I will try your suggestion or would go ahead for the new utility development through BAPI_POSRVAPS_REMOVEITEMS.
Thanks
Sachin
Similar Messages
-
I have created a form which needs to be completed once a week for 6 weeks. On completing week 1, weeks 2 - 6 are completed at the same time with week 1 information. please help?
Hello, thanks for replying.
Yes they just copy to the next page, the fields are the same. The document is an observation to school lessons so it needs to be consistent but with different data on. -
Ihave created a script, i need to email in pdf format.
Hi Experts,
There are 2 criterias...
1. criteria
I have created a script, i need to mail it. Please give me a step by step guide to perform it .. . Please give the comments in all the functional module to be used.
Do we have to write a separate program to send email or in the same program. i'll post my program along with this mail. I'm using this program to display report after delivery on that particular date.
REPORT ZREPORTTOEMAIL LINE-SIZE 400.
data : count, i type i.
TABLES : VBFA, "Sales Document Flow
VBAK,
KNA1,
VBKD,
VBAP,
LIPS,
LIKP,
KONP,
KOMK,
KOMP,
zkna1,
konv.
data : l_vbeln like vbfa-vbeln,
l_posnr like vbfa-posnn,
l_KNUMV like vbak-KNUMV,
L_BILL_ITEM LIKE vbfa-posnn ,
l_netwr like vbrp-netwr,
l_MWSBP like vbrp-mwsbp.
DATA: BEGIN OF TKOMV OCCURS 50.
INCLUDE STRUCTURE KOMV.
DATA: END OF TKOMV.
DATA: BEGIN OF TKOMVD OCCURS 50.
INCLUDE STRUCTURE KOMVD.
DATA: END OF TKOMVD.
TYPE-POOLS: SLIS.
DATA: FIELDTAB TYPE SLIS_T_FIELDCAT_ALV,
HEADING TYPE SLIS_T_LISTHEADER,
LAYOUT TYPE SLIS_LAYOUT_ALV,
EVENTS TYPE SLIS_T_EVENT,
REPNAME LIKE SY-REPID,
F2CODE LIKE SY-UCOMM VALUE '&ETA',
G_SAVE(1) TYPE C,
G_EXIT(1) TYPE C,
G_VARIANT LIKE DISVARIANT,
GX_VARIANT LIKE DISVARIANT.
DATA: GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
CONSTANTS: FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.
DATA: BEGIN OF itab occurs 0,
kunnr like likp-kunnr, "ship to party
NAME2 LIKE KNA1-NAME1, "text
ORT01 LIKE KNA1-ORT01, "City
BSTNK LIKE VBAK-BSTNK, "customer P O
BSTDK LIKE VBAK-BSTDK, "date
vbeln like likp-vbeln, "delivery
ernam like likp-ernam, "person
vstel like likp-vstel, "shipping point
vkorg like likp-vkorg, "sales org
lfdat like likp-lfdat, "delivery date
kunag like likp-kunag, "sold to party
NAME1 LIKE KNA1-NAME1, "text
bil_to like VBAK-KUNNR,
name3 like kna1-name1,
traid like likp-traid, "transport/vehicle no
BOLNR LIKE LIKP-BOLNR,
wadat_ist like likp-wadat_ist, "good mov. date
posnr like lips-posnr, "item
matnr like lips-matnr, "material
arktx like lips-arktx, "item text
matkl like lips-matkl, "mat group
werks like lips-werks, "plant
lgort like lips-lgort, "stoage location
lfimg like lips-lfimg, "del qty
MEINS LIKE LIPS-MEINS,
vrkme like lips-vrkme, "sales unit
UMVKZ LIKE LIPS-UMVKZ,
UMVKN LIKE LIPS-UMVKN,
charg like lips-charg, "batch
vgbel like lips-vgbel, "reference doc
mtart like lips-mtart, "mat type
vkbur like lips-vkbur, "sales office
vkgrp like lips-vkgrp, "sales group
vtweg like lips-vtweg, "Distribution Channel
spart like lips-spart, "division
billno like vbak-vbeln,
basic like komvd-kwert,
budat like bkpf-budat,
fin_amt like vbrp-NETWR,
END OF itab.
data : begin of jtab occurs 0,
kunnr like likp-kunnr,
name2 like kna1-name2,
vbeln like likp-vbeln,
zkunnr like zkna1-zkunnr,
zname like zkna1-zname,
end of jtab.
SELECTION-SCREEN SKIP 1 .
SELECTION-SCREEN BEGIN OF BLOCK BLOCK1 WITH FRAME TITLE TEXT-003.
SELECT-OPTIONS : ABC FOR LIKP-WADAT_IST DEFAULT SY-DATUM
NO INTERVALS .
SELECT-OPTIONS : S_MATNR FOR LIPS-MATNR NO INTERVALS .
SELECT-OPTIONS : S_VKORG FOR LIKP-VKORG NO INTERVALS.
SELECT-OPTIONS : S_VSTEL FOR LIKP-VSTEL NO INTERVALS.
SELECT-OPTIONS : S_VKBUR FOR LIKP-VKBUR NO INTERVALS.
SELECT-OPTIONS : S_VKGRP FOR LIPS-VKGRP.
SELECT-OPTIONS : S_SPART FOR LIPS-SPART.
SELECT-OPTIONS : S_VBELN3 FOR LIKP-VBELN.
SELECT-OPTIONS : S_MATKL FOR LIPS-MATKL NO INTERVALS,
S_KUNAG FOR LIKP-KUNAG.
SELECTION-SCREEN END OF BLOCK BLOCK1.
select * from likp into corresponding fields of itab
WHERE WADAT_IST IN ABC
AND VBELN IN S_VBELN3
AND VKORG IN S_VKORG
and VSTEL in S_VSTEL
AND VKBUR IN S_VKBUR
and lfart like 'Z%'
AND VBTYP = 'J'
AND KUNAG IN S_KUNAG.
select * from lips into corresponding fields of itab
WHERE VBELN = ITAB-VBELN
AND MATNR IN S_MATNR
AND MATKL IN S_MATKL
AND VKBUR IN S_VKBUR
AND VKGRP IN S_VKGRP
AND SPART IN S_SPART.
IF ITAB-VRKME = 'RM' AND ITAB-MEINS = 'KG'.
ITAB-LFIMG = ITAB-LFIMG * ( ITAB-UMVKZ / ITAB-UMVKN ).
ITAB-VRKME = 'KG'.
ENDIF.
SELECT SINGLE BSTNK BSTDK INTO (ITAB-BSTNK,ITAB-BSTDK) FROM VBAK
WHERE VBELN = ITAB-VGBEL.
SELECT SINGLE NAME1 ORT01 FROM KNA1 INTO (ITAB-NAME2,ITAB-ORT01)
WHERE KUNNR = ITAB-KUNNR.
SELECT SINGLE NAME1 FROM KNA1 INTO ITAB-NAME1
WHERE KUNNR = ITAB-KUNAG.
*select single vbeln POSNN into (itab-billno,L_BILL_ITEM) from vbfa where VBELV = itab-vbeln
*and POSNV = itab-posnr and VBTYP_N in ('M','U').
select vbeln POSNN from vbfa up to 1 rows into (itab-billno,L_BILL_ITEM) where VBELV = itab-vbeln
and POSNV = itab-posnr and VBTYP_N in ('M','U') order by vbeln DESCENDING .
endselect.
select single * from vbfa where vbelv = itab-billno and posnv = l_bill_item and
vbtyp_n = 'N'.
if sy-subrc = 0.
clear : itab-billno, l_bill_item.
endif.
select single budat from bkpf into itab-budat where xblnr = itab-billno and
blart = 'RV'.
select single NETWR MWSBP into (l_netwr, l_MWSBP) from vbrp where vbeln = itab-billno
and posnr = l_bill_item.
itab-fin_amt = l_netwr + l_MWSBP.
clear : l_netwr, l_MWSBP.
select single kunnr from vbpa into itab-bil_to where
vbeln = itab-BILLNO and PARVW = 'RE'.
select single name1 into itab-name3 from kna1
where kunnr = itab-bil_to.
*select single VBELV POSNV from vbfa into (l_vbeln,l_posnr)
*where VBELN = itab-vbeln and
*POSNN = itab-posnr and VBTYP_N = 'J'.
*select single VBELN POSNN from vbfa into (l_vbeln,l_posnr)
*where VBELV = itab-vbeln and
*POSNV = itab-posnr and VBTYP_N = 'M'.
select VBELN POSNN from vbfa up to 1 rows into (l_vbeln,l_posnr)
where VBELV = itab-vbeln and
POSNV = itab-posnr and VBTYP_N = 'M' order by vbeln DESCENDING.
endselect.
select single * from vbfa where vbelv = l_vbeln and posnv = l_posnr and
vbtyp_n = 'N'.
if sy-subrc = 0.
clear : l_vbeln, l_posnr.
endif.
if sy-subrc = 0.
*select single KNUMv into l_KNUMv from vbak where vbeln = l_vbeln
select single KNUMv into l_KNUMv from vbRk where vbeln = l_vbeln
select * from konv where knumv = l_knumv and kposn = l_posnr and
kschl in ('ZR00','ZR01','ZR02','ZOBC').
itab-basic = itab-basic + KONV-KBETR.
ENDSELECT.
else.
*select single KNUMv into l_KNUMv from ekko where ebeln = itab-vgbel.
*select single KBETR from konv into itab-basic where knumv = l_knumv
*and kposn = itab-posnr and kschl = 'P101'.
select single KNUMv into l_KNUMv from VBRK where VBELN = itab-BILLNO.
select * from konv where knumv = l_knumv and kposn = l_BILL_ITEM AND
kschl in ('ZR00','ZR01','ZR02','ZOBC').
itab-basic = itab-basic + KONV-KBETR.
ENDSELECT.
*zkna1-zkunnr = itab-kunnr.
*insert zkna1.
endif.
clear : l_vbeln, L_BILL_ITEM, L_POSNR.
APPEND ITAB.
clear : itab-basic, itab-lfimg.
ENDSELECT.
clear : itab.
ENDSELECT.
<b>perform zscript.</b>
*& Form zscript
text
--> p1 text
<-- p2 text
FORM zscript .
CALL FUNCTION 'OPEN_FORM'
EXPORTING
APPLICATION = 'TX'
ARCHIVE_INDEX =
ARCHIVE_PARAMS =
DEVICE = 'PRINTER'
DIALOG = 'X'
FORM = 'ZREPORT2EMAIL'
LANGUAGE = SY-LANGU
OPTIONS =
MAIL_SENDER =
MAIL_RECIPIENT =
MAIL_APPL_OBJECT =
RAW_DATA_INTERFACE = '*'
SPONUMIV =
IMPORTING
LANGUAGE =
NEW_ARCHIVE_PARAMS =
RESULT =
EXCEPTIONS
CANCELED = 1
DEVICE = 2
FORM = 3
OPTIONS = 4
UNCLOSED = 5
MAIL_OPTIONS = 6
ARCHIVE_ERROR = 7
INVALID_FAX_NUMBER = 8
MORE_PARAMS_NEEDED_IN_BATCH = 9
SPOOL_ERROR = 10
CODEPAGE = 11
OTHERS = 12
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT ITAB.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'MANU'
FUNCTION = 'SET'
TYPE = 'BODY'
WINDOW = 'MAIN'
IMPORTING
PENDING_LINES =
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
CODEPAGE = 9
OTHERS = 10
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDLOOP.
CALL FUNCTION 'CLOSE_FORM'
IMPORTING
RESULT =
RDI_RESULT =
TABLES
OTFDATA =
EXCEPTIONS
UNOPENED = 1
BAD_PAGEFORMAT_FOR_PRINT = 2
SEND_ERROR = 3
SPOOL_ERROR = 4
CODEPAGE = 5
OTHERS = 6
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " zscript
The above one is first criteria just to understand how to send mail to the customers.
<b>Second criteria</b> is i have to send the mail to the particular customer with only their details, the process should continue until it sends to all the customers with their details for that particular date.
Please help me out.
I have seen so many posts in the sdn but not able to understand the functional modules, how they declare that and how does it works...
Please provide me a good material to understand the functional module and to declare them.
Please solve this query i'll reward them with very good points.
Thanks in advance.
A.Rafique.Hi babar haroon,
Thanks for the link.....
I went through that link, i created smart form but i was not able to get the results because the pgm gets terminated after executing. I'll show u the code, the code is active. Please check out and tell me if i have missed anything in the code...
*& Report ZZZ_TEST3
REPORT ZZZ_TEST3.
*internal table declarations
data: i_otf type itcoo occurs 0 with header line,
i_tline type table of tline with header line,
i_receivers type table of somlreci1 with header line,
i_record like solisti1 occurs 0 with header line,
*Objects to send mail.
i_objpack like sopcklsti1 occurs 0 with header line,
i_objtxt like solisti1 occurs 0 with header line,
i_objbin like solisti1 occurs 0 with header line,
i_reclist like somlreci1 occurs 0 with header line,
*workarea declaration.
w_objhead TYPE soli_tab,
w_ctrlop TYPE ssfctrlop,
w_compop TYPE ssfcompop,
w_return TYPE ssfcrescl,
w_doc_chng typE sodocchgi1,
w_data TYPE sodocchgi1,
w_buffer TYPE string,"To convert from 132 to 255
Variables declarations
v_form_name TYPE rs38l_fnam,
v_len_in LIKE sood-objlen,
v_len_out LIKE sood-objlen,
v_len_outn TYPE i,
v_lines_txt TYPE i,
v_lines_bin TYPE i.
call function 'SSF_FUNCTION_MODULE_NAME'
*call function '/1BCDWB/SF00000105'
exporting
formname = 'ZZZ_TEST2'
importing
fm_name = v_form_name
exceptions
no_form = 1
no_function_module = 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.
w_ctrlop-getotf = 'X'.
w_ctrlop-no_dialog = 'X'.
w_compop-tdnoprev = 'X'.
CALL FUNCTION '/1BCDWB/SF00000105'
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB = itab1
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS =
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS =
USER_SETTINGS = 'X'
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO = wa
JOB_OUTPUT_OPTIONS =
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION v_form_name
EXPORTING
control_parameters = w_ctrlop
output_options = w_compop
user_settings = 'X'
IMPORTING
job_output_info = w_return
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
i_otf[] = w_return-otfdata[].
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF'
max_linewidth = 132
IMPORTING
bin_filesize = v_len_in
TABLES
otf = i_otf
lines = i_tline
EXCEPTIONS
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Convert PDF from 132 to 255.
LOOP AT i_tline.
Replacing space by ~
TRANSLATE i_tline USING '~'.
CONCATENATE w_buffer i_tline INTO w_buffer.
ENDLOOP.
Replacing ~ by space
TRANSLATE w_buffer USING '~'.
DO.
i_record = w_buffer.
Appending 255 characters as a record
APPEND i_record.
SHIFT w_buffer LEFT BY 255 PLACES.
IF w_buffer IS INITIAL.
EXIT.
ENDIF.
ENDDO.
Refresh: i_reclist,
i_objtxt,
i_objbin,
i_objpack.
clear w_objhead.
Object with PDF.
i_objbin[] = i_record[].
DESCRIBE TABLE i_objbin LINES v_lines_bin.
Object with main text of the mail.
i_objtxt = 'Find attached the output of the smart form.'.
APPEND i_objtxt.
DESCRIBE TABLE i_objbin LINES v_lines_txt.
i_objtxt = 'Regards,'.
APPEND i_objtxt.
i_objtxt = 'J.Jayanthi'.
APPEND i_objtxt.
DESCRIBE TABLE i_objtxt LINES v_lines_txt.
Document information.
w_doc_chng-obj_name = 'Smartform'.
w_doc_chng-expiry_dat = sy-datum + 10.
w_doc_chng-obj_descr = 'Smart form output'.
w_doc_chng-sensitivty = 'F'. "Functional object
w_doc_chng-doc_size = v_lines_txt * 255.
Pack to main body as RAW.
Obj. to be transported not in binary form
CLEAR i_objpack-transf_bin.
Start line of object header in transport packet
i_objpack-head_start = 1.
Number of lines of an object header in object packet
i_objpack-head_num = 0.
Start line of object contents in an object packet
i_objpack-body_start = 1.
Number of lines of the object contents in an object packet
i_objpack-body_num = v_lines_txt.
Code for document class
i_objpack-doc_type = 'RAW'.
APPEND i_objpack.
Packing as PDF.
i_objpack-transf_bin = 'X'.
i_objpack-head_start = 1.
i_objpack-head_num = 1.
i_objpack-head_num = 0.
i_objpack-body_start = 1.
i_objpack-body_num = v_lines_bin.
i_objpack-doc_type = 'PDF'.
i_objpack-obj_name = 'Smartform'.
CONCATENATE 'Smartform_output' '.pdf'
INTO i_objpack-obj_descr.
i_objpack-doc_size = v_lines_bin * 255.
APPEND i_objpack.
Document information.
CLEAR i_reclist.
e-mail receivers.
i_reclist-receiver = '[email protected]'.
i_reclist-receiver = '[email protected]'.
i_reclist-express = 'X'.
i_reclist-rec_type = 'U'. "Internet address
APPEND i_reclist.
Sending mail.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = w_doc_chng
put_in_outbox = 'X'
TABLES
packing_list = i_objpack
object_header = w_objhead
contents_hex = i_objbin
contents_txt = i_objtxt
receivers = i_reclist
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
OTHERS = 8.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Please reply me back, it is very urgent..
Thanks and regards.
A.Rafique -
HOW TO CREATE A DRILLDOWN PROGRAM NEED EXAMPLE
HAI FRIENDS
1 I WANT TO KNOW HOW TO CREATE A DRILLDOWN PROGRAM NEED EXAMPLE IN ABAP
2 NEED ABAP PROGRAM EBOOK
PLZ DO ITCHECK THIS ALV DRILL DOWN REPORT
*& Report ZHAI_SD_CUSTOMER_DETAILS_ALV
REPORT ZHAI_SD_CUSTOMER_DETAILS_ALV.
TYPE-POOLS: SLIS.
TYPES DECLARATIONS
TABLES : KNA1.
DATA : BEGIN OF IT_CUST OCCURS 0,
KUNNR LIKE KNA1-KUNNR,
NAME1 LIKE KNA1-NAME1,
LAND1 LIKE KNA1-LAND1,
ORT01 LIKE KNA1-ORT01,
STRAS LIKE KNA1-STRAS,
PSTLZ LIKE KNA1-PSTLZ,
END OF IT_CUST.
DATA:BEGIN OF IT_SALE OCCURS 0,
VBELN LIKE VBAK-VBELN,"SALES DOC NO
AUDAT LIKE VBAK-AUDAT,"DATE RECIEVED AND SENT
AUART LIKE VBAK-AUART,"SALES DOC LIKE
NETWR LIKE VBAK-NETWR,"NET VALUE IN DOC CURRENCY
KUNNR LIKE VBAK-KUNNR,
END OF IT_sale.
TYPES: BEGIN OF TY_ITEM,
VBELN TYPE VBAP-VBELN,
POSNR TYPE VBAP-POSNR,"ITEM NO
MATNR TYPE VBAP-MATNR,"MATERIAL NO
CHARG TYPE VBAP-CHARG,"BATCH
MATKL TYPE VBAP-MATKL,"MATERIAL GROUP
MEINS TYPE VBAP-MEINS,"BASE UNIT OF MEASURE
END OF TY_ITEM.
SELECT-OPTIONS : S_KUNNR FOR KNA1-KUNNR.
INTERNAL TABLES
DATA:
IT_CUST TYPE TABLE OF TY_CUST,
IT_SALE TYPE TABLE OF TY_SALE,
IT_ITEM TYPE TABLE OF TY_ITEM.
INTERNAL TABLES FOR ALV
DATA: IT_FCAT TYPE SLIS_T_FIELDCAT_ALV,
IT_FCAT1 TYPE SLIS_T_FIELDCAT_ALV,
IT_FCAT3 TYPE SLIS_T_FIELDCAT_ALV.
DATA: IT_EVENTS TYPE TABLE OF slis_alv_event,
IT_EVENTS1 TYPE TABLE OF SLIS_ALV_EVENT,
IT_EVENTS2 TYPE TABLE OF SLIS_ALV_EVENT.
DATA: IT_LISTHEADER1 TYPE SLIS_T_LISTHEADER,
IT_LISTHEADER TYPE TABLE OF slis_listheader,
IT_LISTHEADER3 TYPE TABLE OF SLIS_LISTHEADER,
IT_FOOTER TYPE TABLE OF SLIS_LISTHEADER.
DATA: IT_SORT TYPE SLIS_T_SORTINFO_ALV,
WA_SORT LIKE LINE OF IT_SORT.
WORK AREAS FOR ALV
DATA: WA_LAYOUT TYPE SLIS_LAYOUT_ALV,
WA_LAYOUT1 TYPE SLIS_LAYOUT_ALV,
WA_FCAT LIKE LINE OF IT_FCAT,
WA_FCAT1 LIKE LINE OF IT_FCAT1,
WA_FCAT3 LIKE LINE OF IT_FCAT3,
WA_EVENTS LIKE LINE OF IT_EVENTS,
WA_EVENTS1 LIKE LINE OF IT_EVENTS,
WA_EVENTS2 LIKE LINE OF IT_EVENTS.
WORK VARIABLES
DATA: W_REPID TYPE SY-REPID,
W_KUNNR TYPE KNA1-KUNNR.
$$**----
WORK AREAS
MACROS
DEFINE ADD_FCAT1..
WA_FCAT1-COL_POS = &1.
WA_FCAT1-FIELDNAME = &2.
WA_FCAT1-TABNAME = &3.
WA_FCAT1-REF_TABNAME = &4.
WA_FCAT1-KEY = &5.
WA_FCAT1-DO_SUM = &6.
WA_FCAT1-HOTSPOT = &7.
WA_FCAT1-EMPHASIZE = &8.
APPEND WA_FCAT1 TO IT_FCAT1.
END-OF-DEFINITION.
START-OF-SELECTION.
PERFORM F_GET_DATA.
PERFORM F_BUILD_FCAT.
PERFORM F_GET_EVENTS.
PERFORM F_BUILD_LAYOUT USING WA_LAYOUT.
PERFORM F_GET_DISPLAY.
*& Form F_GET_DATA
FORM F_GET_DATA .
SELECT KUNNR
NAME1
LAND1
ORT01
STRAS
PSTLZ FROM KNA1
INTO TABLE
IT_CUST WHERE KUNNR IN S_KUNNR.
ENDFORM. " F_GET_DATA
*& Form F_GET_DISPLAY
text
--> p1 text
<-- p2 text
FORM F_GET_DISPLAY .
CLEAR W_REPID.
MOVE SY-REPID TO W_REPID.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = w_repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = 'F_TOP_OF_PAGE'
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = 'DUCK'
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FCAT
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = IT_EVENTS
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_CUST
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " F_GET_DISPLAY
*& Form F_GET_EVENTS
text
--> p1 text
<-- p2 text
FORM F_GET_EVENTS .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = IT_EVENTS
EXCEPTIONS
LIST_TYPE_WRONG = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
SORT IT_EVENTS.
READ TABLE IT_EVENTS INTO WA_EVENTS
WITH KEY NAME = 'TOP_OF_PAGE' BINARY SEARCH.
IF SY-SUBRC EQ 0.
WA_EVENTS-FORM = 'F_TOP_OF_PAGE'.
MODIFY IT_EVENTS INDEX SY-TABIX FROM
WA_EVENTS TRANSPORTING FORM.
ENDIF.
READ TABLE IT_EVENTS INTO WA_EVENTS
WITH KEY NAME = 'USER_COMMAND' BINARY SEARCH.
IF SY-SUBRC EQ 0.
WA_EVENTS-FORM = 'F_USER_COMMAND'.
MODIFY IT_EVENTS FROM WA_EVENTS INDEX
SY-TABIX TRANSPORTING FORM.
READ TABLE IT_EVENTS INTO WA_EVENTS
WITH KEY NAME = 'USER_COMMAND' BINARY SEARCH.
ENDIF.
READ TABLE IT_EVENTS INTO WA_EVENTS WITH
KEY NAME = 'END_OF_PAGE' BINARY SEARCH.
IF SY-SUBRC EQ 0.
WA_EVENTS-FORM = 'F_END_OF_PAGE'.
MODIFY IT_EVENTS FROM WA_EVENTS
INDEX SY-TABIX TRANSPORTING FORM.
ENDIF.
ENDFORM. "F_GET_EVENTS
*& Form F_BUILD_LAYOUT
FORM F_BUILD_LAYOUT USING P_WA_LAYOUT LIKE WA_LAYOUT .
CLEAR P_WA_LAYOUT.
P_WA_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
*P_WA_LAYOUT-F2CODE = '&ETA'.
*p_wa_layout-detail_popup = 'X'.
P_WA_LAYOUT-DETAIL_TITLEBAR = 'ALV REPORT'.
*P_WA_LAYOUT-CONFIRMATION_PROMPT = 'X'.
ENDFORM. " F_BUILD_LAYOUT
*& Form F_TOP_OF_PAGE
FORM F_TOP_OF_PAGE .
refresh it_listheader.
DATA: LS_LIST TYPE SLIS_LISTHEADER.
LS_LIST-TYP = 'H'.
LS_LIST-INFO = TEXT-004.
APPEND LS_LIST TO IT_LISTHEADER.
LS_LIST-typ = 'S'.
LS_LIST-key = 'Date: '.
CONCATENATE sy-datum+6(2) '.'
sy-datum+4(2) '.'
sy-datum(4) INTO LS_LIST-info. "todays date
append LS_LIST to IT_LISTHEADER.
clear: LS_LIST.
LS_LIST-TYP = 'S'.
LS_LIST-KEY = 'DEVELOPED:'.
LS_LIST-INFO = SY-UNAME.
APPEND LS_LIST TO IT_LISTHEADER.
CLEAR LS_LIST.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = IT_LISTHEADER
I_LOGO = 'GLOBAL'.
ENDFORM. " F_TOP_OF_PAGE
*& Form F_BUILD_FCAT
FORM F_BUILD_FCAT .
CLEAR: W_REPID,
IT_FCAT.
MOVE SY-REPID TO W_REPID.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = W_REPID
I_INTERNAL_TABNAME = 'IT_CUST'
I_INCLNAME = W_REPID
CHANGING
CT_FIELDCAT = IT_FCAT
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.
ENDIF.
ENDFORM. " F_BUILD_FCAT
*& Form F_USER_COMMAND
FORM F_USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN '&IC1'.
IF RS_SELFIELD-FIELDNAME = 'KUNNR'.
READ TABLE IT_CUST
INDEX RS_SELFIELD-TABINDEX.
MOVE rs_selfield-value TO W_KUNNR.
IF IT_CUST IS NOT INITIAL.
PERFORM F_GET_SECONDARY_DATA.
PERFORM F_BUILD_FCAT1.
PERFORM F_BUILD_EVENTS.
PERFORM F_GET_SORT.
PERFORM F_BUILD_LAYOUT1.
PERFORM F_GET_DISPLAY1.
ENDIF.
ENDIF.
ENDCASE.
ENDFORM. " F_USER_COMMAND
*& Form F_GET_SECONDARY_DATA
FORM F_GET_SECONDARY_DATA .
data:v_data.
SELECT VBELN
AUDAT
AUART
NETWR
KUNNR FROM VBAK INTO TABLE IT_SALE
WHERE KUNNR EQ IT_CUST-KUNNR.
IF IT_SALE[] IS INITIAL .
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
TITLEBAR = SY-REPID
DIAGNOSE_OBJECT = ' '
TEXT_QUESTION = 'NO SALES FOR THIS CUSTOMER'
TEXT_BUTTON_1 = 'Ja'(001)
ICON_BUTTON_1 = ' '
TEXT_BUTTON_2 = 'Nein'(002)
ICON_BUTTON_2 = ' '
DEFAULT_BUTTON = '1'
DISPLAY_CANCEL_BUTTON = 'X'
USERDEFINED_F1_HELP = ' '
START_COLUMN = 25
START_ROW = 6
POPUP_TYPE =
IV_QUICKINFO_BUTTON_1 = ' '
IV_QUICKINFO_BUTTON_2 = ' '
IMPORTING
ANSWER = v_data
TABLES
PARAMETER =
EXCEPTIONS
TEXT_NOT_FOUND = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
case v_data.
when '2'.
leave screen.
when 'A'.
leave to screen '0'.
endcase.
ENDIF.
ENDFORM. " F_GET_SECONDARY_DATA
*& Form F_BUILD_FCAT1
FORM F_BUILD_FCAT1 .
REFRESH IT_FCAT1.
CLEAR WA_FCAT1.
ADD_FCAT1:
'1' 'VBELN' 'VBAK' 'VBAK' 'X' ' ' 'X' 'C500',
'2' 'AUDAT' 'VBAK' 'VBAK' ' ' ' ' ' ' 'C400',
'3' 'AUART' 'VBAK' 'VBAK' ' ' ' ' ' ' 'C100',
'4' 'NETWR' 'VBAK' 'VBAK' ' ' 'X' ' ' 'C300'.
ENDFORM. " F_BUILD_FCAT1
*& Form F_GET_DISPLAY1
text
--> p1 text
<-- p2 text
FORM F_GET_DISPLAY1 .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = 'F_USER_COMMAND1'
I_CALLBACK_TOP_OF_PAGE = 'F_TOP_OF_PAGE1'
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT =
IT_FIELDCAT = IT_FCAT1
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT = IT_SORT
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = IT_EVENTS1
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_SALE
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " F_GET_DISPLAY1
*& Form F_BUILD_EVENTS
FORM F_BUILD_EVENTS .
clear wa_events1.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = IT_EVENTS1.
EXCEPTIONS
LIST_TYPE_WRONG = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
SORT IT_EVENTS1.
read table It_events1 with key name = 'TOP_OF_PAGE'
into WA_eventS1.
if sy-subrc = 0.
move 'F_TOP_OF_PAGE1' to WA_EventS1-form.
append WA_eventS1 to it_events1.
endif.
READ TABLE IT_EVENTS WITH KEY NAME = 'USER_COMMAND'
INTO WA_EVENTS1.
IF SY-SUBRC = 0.
MOVE 'F_USER_COMMAND1' TO WA_EVENTS1-FORM.
APPEND WA_EVENTS1 TO IT_EVENTS1.
ENDIF.
*READ TABLE IT_EVENTS WITH KEY NAME = 'SUBTOTAL_TEXT'
INTO WA_EVENTS1.
IF SY-SUBRC = 0.
MOVE 'F_SUBTOTAL_TEXT' TO WA_EVENTS1-FORM.
APPEND WA_EVENTS1 TO IT_EVENTS1.
ENDIF.
ENDFORM. " F_BUILD_EVENTS
*& Form F_TOP_OF_PAGE1
FORM F_TOP_OF_PAGE1 .
DATA: LS_HEADER TYPE SLIS_LISTHEADER.
REFRESH : IT_LISTHEADER1.
LS_HEADER-TYP = 'H'.
LS_HEADER-INFO = 'SALES ORDER DETAILS FOR CUSTOMER'.
APPEND LS_HEADER TO it_listheader1.
CLEAR LS_HEADER.
LS_HEADER-TYP = 'S'.
LS_HEADER-KEY = 'CUSTOMER NO:'.
LS_HEADER-INFO = W_KUNNR.
APPEND LS_HEADER TO IT_LISTHEADER1.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = IT_LISTHEADER1
I_LOGO = 'DUCK'
I_END_OF_LIST_GRID =
I_ALV_FORM =
ENDFORM. " F_TOP_OF_PAGE
*& Form F_END_OF_PAGE
text
--> p1 text
<-- p2 text
FORM F_END_OF_PAGE .
DATA:LS_FOOTER TYPE SLIS_LISTHEADER.
LS_FOOTER-TYP = 'S'.
LS_FOOTER-KEY = SY-UNAME.
LS_FOOTER-INFO = 'DEVELOPED BY:'.
APPEND LS_FOOTER TO IT_FOOTER.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = IT_FOOTER
ENDFORM. " F_END_OF_PAG
*& Form F_USER_COMMAND1
text
--> p1 text
<-- p2 text
FORM F_USER_COMMAND1 USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN '&IC1'.
READ TABLE IT_SALE INDEX RS_SELFIELD-TABINDEX.
PERFORM F_GET_SECONDARY2.
PERFORM F_GET_FCAT3 USING:
'VBELN' '1' 'C' '12' 'SALES_DOC' 'M' 'VBAP' 'X' 'C51' ' ',
'POSNR' '2' ' ' '5' 'ITEM_NO' 'M' 'VBAP' ' ' 'C61' ' ',
'MATNR' '3' ' ' '12' 'MATERIAL_NO' 'M' 'VBAP' ' ' 'C71' ' ',
'CHARG' '4' ' ' '10' 'BATCH_NO' 'M' 'VBAP' ' ' 'C41' ' ',
'MATKL' '5' ' ' '10' 'MAT_GROUP' 'M' 'VBAP' ' ' 'C31' ' ',
'MEINS' '6' ' ' '12' 'BASE_UNIT' 'M' 'VBAP' ' ' 'C21' 'X' .
PERFORM F_GET_EVENTS2 USING WA_EVENTS2
CHANGING IT_EVENTS2.
PERFORM F_GET_DISPLAY3.
REFRESH IT_FCAT3.
ENDCASE.
ENDFORM. " F_USER_COMMAND1
*& Form F_GET_SECONDARY2
text
--> p1 text
<-- p2 text
FORM F_GET_SECONDARY2 .
SELECT VBELN
POSNR
MATNR
MATKL
MEINS
FROM VBAP INTO
TABLE IT_ITEM WHERE
VBELN EQ IT_SALE-VBELN.
IF SY-DBCNT EQ 0.
MESSAGE E000(ZHAI) WITH TEXT-KO1.
ENDIF.
ENDFORM. " F_GET_SECONDARY2
*& Form F_GET_DISPLAY3
text
--> p1 text
<-- p2 text
FORM F_GET_DISPLAY3 .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = 'F_PF_STATUS'
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = 'F_TOP_OF_PAGE3'
I_CALLBACK_HTML_TOP_OF_PAGE = 'F_TOP_OF_PAGE3'
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT = WA_LAYOUT1
IT_FIELDCAT = IT_FCAT3
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT = IT_SORT
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = IT_EVENTS2
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_ITEM
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " F_GET_DISPLAY3
*& Form F_GET_FCAT3
FORM F_GET_FCAT3 USING VALUE(P1)
VALUE(P2)
VALUE(P3)
VALUE(P4)
VALUE(P5)
VALUE(P6)
VALUE(P7)
VALUE(P8)
VALUE(P9)
VALUE(P10).
CLEAR WA_FCAT3.
WA_FCAT3-FIELDNAME = P1.
WA_FCAT3-COL_POS = P2.
WA_FCAT3-JUST = P3.
WA_FCAT3-OUTPUTLEN = P4.
WA_FCAT3-SELTEXT_M = P5.
WA_FCAT3-DDICTXT = P6.
WA_FCAT3-REF_TABNAME = P7.
WA_FCAT3-HOTSPOT = P8.
WA_FCAT3-EMPHASIZE = P9.
WA_FCAT3-DO_SUM = P10.
APPEND WA_FCAT3 TO IT_FCAT3.
ENDFORM. " F_GET_FCAT3
*& Form F_BUILD_LAYOUT1
text
--> p1 text
<-- p2 text
FORM F_BUILD_LAYOUT1 .
WA_LAYOUT1-totals_text = 'TOTAL'.
wa_layout1-detail_popup = 'X'.
ENDFORM. " F_BUILD_LAYO
*& Form F_GET_EVENTS2
text
-->P_IT_EVENTS2 text
<--P_WA_EVENTS2 text
FORM F_GET_EVENTS2 USING VALUE(P_WA_EVENTS2) LIKE WA_EVENTS2
CHANGING P_IT_EVENTS2 LIKE IT_EVENTS2.
P_WA_EVENTS2-NAME = 'HTML_TOP_OF_PAGE'.
P_WA_EVENTS2-FORM = 'F_TOP_OF_PAGE3'.
APPEND P_WA_EVENTS2 TO P_IT_EVENTS2.
CLEAR P_WA_EVENTS2.
P_WA_EVENTS2-NAME = 'PF_STATUS'.
P_WA_EVENTS2-FORM = 'F_PF_STATUS'.
APPEND P_WA_EVENTS2 TO P_IT_EVENTS2.
CLEAR P_WA_EVENTS2.
P_WA_EVENTS2-NAME = 'USER_COMMAND'.
P_WA_EVENTS2-FORM = 'F_USER_COMMAND3'.
APPEND P_WA_EVENTS2 TO P_IT_EVENTS2.
CLEAR P_WA_EVENTS2.
p_wa_events2-name = 'HTML_END_OF_LIST'.
P_WA_EVENTS2-FORM = 'F_HTML_END_OF_LIST'.
APPEND P_WA_EVENTS2 TO P_IT_EVENTS2.
CLEAR p_wa_events2.
ENDFORM. " F_GET_EVENTS2
*& Form F_TOP_OF_PAGE3
text
--> p1 text
<-- p2 text
FORM F_TOP_OF_PAGE3 USING DOCUMENT TYPE REF TO cl_dd_document .
data : link_area type ref to cl_dd_area,
picture_area type ref to cl_dd_area.
CALL METHOD DOCUMENT->ADD_TEXT
EXPORTING
TEXT = 'ALV REPORT'
TEXT_TABLE =
FIX_LINES =
SAP_STYLE =
SAP_COLOR = cl_dd_area=>list_background_int
SAP_FONTSIZE = 'LARGE'
SAP_FONTSTYLE = 'TIMES'
SAP_EMPHASIS = 'STRONG'
STYLE_CLASS =
CHANGING
DOCUMENT =
CALL METHOD DOCUMENT->NEW_LINE.
CALL METHOD DOCUMENT->ADD_PICTURE
EXPORTING
PICTURE_ID = 'LOGO1'
WIDTH = '10%'
ENDFORM. " F_TOP_OF_PAGE3
*& Form F_GET_SORT
text
--> p1 text
<-- p2 text
FORM F_GET_SORT .
WA_SORT-FIELDNAME = 'NETWR'.
WA_SORT-SPOS = 4.
WA_SORT-UP = 'X'.
WA_SORT-SUBTOT = 'X'.
APPEND WA_SORT TO IT_SORT.
ENDFORM. " F_GET_SORT
*& Form F_PF_STATUS
text
--> p1 text
<-- p2 text
FORM F_PF_STATUS USING RS_EXTAB TYPE SLIS_T_EXTAB .
SET PF-STATUS 'ZHAIALV' EXCLUDING RS_EXTAB.
ENDFORM. " F_PF_STATUS
*& Form F_USER_COMMAND3
text
--> p1 text
<-- p2 text
FORM F_USER_COMMAND3 USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN '&SALE'.
IF RS_SELFIELD-FIELDNAME = 'VBELN'.
SET parameter ID 'AUN' FIELD rs_selfield-value.
CALL TRANSACTION 'VA02' AND SKIP FIRST SCREEN.
ENDIF.
WHEN '&MAT'.
IF RS_SELFIELD-FIELDNAME = 'MATNR'.
SET PARAMETER ID 'MAT' FIELD RS_SELFIELD-VALUE.
CALL TRANSACTION 'MM02' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDFORM. " F_USER_COMMAND3
*& Form F_HTML_END_OF_LIST
text
--> p1 text
<-- p2 text
FORM F_HTML_END_OF_LIST USING DOCUMENT TYPE REF TO CL_DD_DOCUMENT.
DATA : PAGE TYPE SDYDO_TEXT_ELEMENT.
MOVE SY-PAGNO TO PAGE.
CALL METHOD DOCUMENT->ADD_TEXT
EXPORTING
TEXT = PAGE
TEXT_TABLE =
FIX_LINES =
SAP_STYLE =
SAP_COLOR =
SAP_FONTSIZE =
SAP_FONTSTYLE =
SAP_EMPHASIS =
STYLE_CLASS =
CHANGING
DOCUMENT =
ENDFORM. " F_HTML_END_OF_LIS -
While creating Purchase Requisition we need to send a mail for approvers
Hi All,
While creating Purchase requisition we need to send a mail to approvers.
Dowe need to create Function module ?
if You know the steps can you please give me the steps.
Thanks In advance
Sriman.Hi Sriman
Here we can try for 2 approach
one is workflow and other his sending emails via user exit.
I am not much aware about workflow, but you can explore for user exit.
Try for enhancement component 'MEREQ001'.
let me know, if you need further help
Regards
MD -
Hi All,
I have successfully installed soa 10.1.3.1. I am using VMware with windows xp as os.
The problem is occuring when i was trying to apply 1*0.1.3.4 patch* to my 10.1.3.1 installation.
In the pre-installation instructions we need to upgrade the schema or rum some sql scripts. To do that when I tried to connect using
msql system/manager@<connection string> i got the following error
*"Unable to create JVM. You need jre/jdk 1.3.1 or higher"*
I checked my path and java version also, it looks ok i mean i have 1.5.x java version.
I am not sure what could be the issue.
Did anyone of you encounter same or similar issue?
Any help is highly appreciated.
Thanks.I doubt the dehydration store is installed on mSQL.
Have you installed basic or advanced. I'm assuming basic, by default this runs on olite.
To upgrade you need to upgrade the bpel and esb schemas
The login executables are in the following location
SOA_HOME\bpel\bin\polsql.cmd (bpel)
SOA_HOME\integration\esb\olite\bin\sql_olite.bat (ESB)
cheers
James -
I am creating a catalog and need a way to mass import tables from excel into indesign. Any ideas?
Third-party plugins for InDesign can automate the process. Here's a thread from InDesignSecrets.com forums:
http://indesignsecrets.com/topic/plugins-for-automating-catalog-production -
Premiere Pro CC updated - crashes almost immediately on my mac OS X Yosemite 10.10.3. Crashes at startup, crashes with media import, crashes when creating a sequence. NEED HELP FAST> I have tried many troubleshooting solutions I found online nothing has worked.
Hi,
Sorry to hear about the experience. Please provide your computer configuration details.
Memory, Processor, Graphics card, Exact version of Premiere Pro, Error message that you are get. If you can post screenshots of the error report that would be helpful.
Thanks,
Rameez -
What IS the best program to use to create an animation, that needs to be viewed in powerpoint? Essentially i want to output a Movie File, so i'm guessing that Edge Animate is out of the question and it's not photoshop, more likely Flash?
So it sounds like you want to create a form. There are really two approaches, either Acrobat (AcroForm) or LiveCycle Designer (XFA form). LiveCycle Designer comes with Acrobat Pro, but it's an entirely separate application.
For an AcroForm, you'd create the underlying document in a page layout program (e.g., InDesign), word processor, or some other software and convert to PDF. Then in Acrobat you;d add the interactive form fields and any scripting you want. You can also add other types of interactive elements such as links, bookmarks, multimedia, etc. You can add a button which when clicked initiates an email with the filled-in form attached of submits to a web server.
For an XFA form, you'd normally create the entire document in LiveCycle Designer, particularly for a dynamic forms. There's a lot that PDF has to offer that's not available with XFA forms, but XFA forms can do things AcroForms can't. For a good discussion of the important differences between the two types of forms, see the following article: http://acrobatusers.com/blogs/thomp/so-what-difference-between-acroforms-and-xfa
For a form that needs to be saved with Adobe Reader, the document needs to be Reader-enabled. When such a document is opened in Reader, it will unlock certain functionality that Reader does not have otherwise, such as commenting, signing digital signature fields, and most important saving. But when a document has been extended this way with Acrobat, there are licesning restrictions. In short, if you distribute an enabled document to more than 500 recipients, you are allowed to use data from no more than 500 forms that have been returned to you, including hard copied. If fewer than 500 recipients, there is no such limit. -
I updated my computer today to Yosemite 10.1. It told me that my Kaspersky virus scanner was damaged and that I should delete it. I did so. I'm wondering what virus scanner I should purchase?
First, you should be sure you have fully uninstalled the software. If you have no uninstaller nor directions for uninstalling, then see:
Uninstalling Software: The Basics
Most OS X applications are completely self-contained "packages" that can be uninstalled by simply dragging the application to the Trash. Applications may create preference files that are stored in the /Home/Library/Preferences/ folder. Although they do nothing once you delete the associated application, they do take up some disk space. If you want you can look for them in the above location and delete them, too.
Some applications may install an uninstaller program that can be used to remove the application. In some cases the uninstaller may be part of the application's installer, and is invoked by clicking on a Customize button that will appear during the install process.
Some applications may install components in the /Home/Library/Applications Support/ folder. You can also check there to see if the application has created a folder. You can also delete the folder that's in the Applications Support folder. Again, they don't do anything but take up disk space once the application is trashed.
Some applications may install a startupitem or a Log In item. Startupitems are usually installed in the /Library/StartupItems/ folder and less often in the /Home/Library/StartupItems/ folder. Log In Items are set in the Accounts preferences. Open System Preferences, click on the Accounts icon, then click on the LogIn Items tab. Locate the item in the list for the application you want to remove and click on the "-" button to delete it from the list.
Some software use startup daemons or agents that are a new feature of the OS. Look for them in /Library/LaunchAgents/ and /Library/LaunchDaemons/ or in /Home/Library/LaunchAgents/.
If an application installs any other files the best way to track them down is to do a Finder search using the application name or the developer name as the search term. Unfortunately Spotlight will not look in certain folders by default. You can modify Spotlight's behavior or use a third-party search utility, EasyFind, instead.
Some applications install a receipt in the /Library/Receipts/ folder. Usually with the same name as the program or the developer. The item generally has a ".pkg" extension. Be sure you also delete this item as some programs use it to determine if it's already installed.
There are many utilities that can uninstall applications. Here is a selection:
1. AppZapper
2. AppDelete
3. Automaton
4. Hazel
5. AppCleaner
6. CleanApp
7. iTrash
8. Amnesia
9. Uninstaller
10. Spring Cleaning
For more information visit The XLab FAQs and read the FAQ on removing software.
Helpful Links Regarding Malware Problems
If you are having an immediate problem with ads popping up see The Safe Mac » Adware Removal Guide, AdwareMedic, or Remove unwanted adware that displays pop-up ads and graphics on your Mac - Apple Support.
Open Safari, select Preferences from the Safari menu. Click on Extensions icon in the toolbar. Disable all Extensions. If this stops your problem, then re-enable them one by one until the problem returns. Now remove that extension as it is causing the problem.
The following comes from user stevejobsfan0123. I have made minor changes to adapt to this presentation.
Fix Some Browser Pop-ups That Take Over Safari.
Common pop-ups include a message saying the government has seized your computer and you must pay to have it released (often called "Moneypak"), or a phony message saying that your computer has been infected, and you need to call a tech support number (sometimes claiming to be Apple) to get it resolved. First, understand that these pop-ups are not caused by a virus and your computer has not been affected. This "hijack" is limited to your web browser. Also understand that these messages are scams, so do not pay any money, call the listed number, or provide any personal information. This article will outline the solution to dismiss the pop-up.
Quit Safari
Usually, these pop-ups will not go away by either clicking "OK" or "Cancel." Furthermore, several menus in the menu bar may become disabled and show in gray, including the option to quit Safari. You will likely have to force quit Safari. To do this, press Command + option + esc, select Safari, and press Force Quit.
Relaunch Safari
If you relaunch Safari, the page will reopen. To prevent this from happening, hold down the 'Shift' key while opening Safari. This will prevent windows from the last time Safari was running from reopening.
This will not work in all cases. The shift key must be held at the right time, and in some cases, even if done correctly, the window reappears. In these circumstances, after force quitting Safari, turn off Wi-Fi or disconnect Ethernet, depending on how you connect to the Internet. Then relaunch Safari normally. It will try to reload the malicious webpage, but without a connection, it won't be able to. Navigate away from that page by entering a different URL, i.e. www.apple.com, and trying to load it. Now you can reconnect to the Internet, and the page you entered will appear rather than the malicious one.An excellent link to read is Tom Reed's Mac Malware Guide.
Also, visit The XLab FAQs and read Detecting and avoiding malware and spyware.
See these Apple articles:
Mac OS X Snow Leopard and malware detection
OS X Lion- Protect your Mac from malware
OS X Mountain Lion- Protect your Mac from malware
OS X Mavericks- Protect your Mac from malware
About file quarantine in OS X
If you require anti-virus protection Thomas Reed recommends using ClamXAV. (Thank you to Thomas Reed for this recommendation.)
From user Joe Bailey comes this equally useful advice:
The facts are:
1. There is no anti-malware software that can detect 100% of the malware out there.
2. There is no anti-malware that can detect everything targeting the Mac.
3. The very best way to prevent the most attacks is for you as the user to be aware that
the most successful malware attacks rely on very sophisticated social engineering
techniques preying on human avarice, ****, and fear.
4. Internet popups saying the FBI, NSA, Microsoft, your ISP has detected malware on
your computer is intended to entice you to install their malware thinking it is a
protection against malware.
5. Some of the anti-malware products on the market are worse than the malware
from which they purport to protect you.
6. Be cautious where you go on the internet.
7. Only download anything from sites you know are safe.
8. Avoid links you receive in email, always be suspicious even if you get something
you think is from a friend, but you were not expecting.
9. If there is any question in your mind, then assume it is malware. -
What files need to be deleted to start fresh with iCal?
Friends:
What files need to be deleted from places like the library to start with a fresh blank copy of iCal?
Thanks amigos!
MigsMigs,
Have you tried using the iCal user interface to delete all iCal data?
You can do this by creating a new calendar, and naming the calendar. Name it "Test" for example. Then delete all of the other calendars that exist in the "Calendars" sources pane.
Quit iCal, and remove the com.apple.ical.plist file from your Macintosh HD/Users/yourusername/Library/Preferences folder. Also remove the Calendar Cache file from the Macintosh HD/Users/yourusername/Library/Calendars folder.
Then log out/in or restart, and the only calendar remaining should be the blank "Test" calendar.
;~) -
When index's need to be deleted in process chain
Hi Friends ,
I am looking for some info in what scenarios the indexes need to be deleted & recreated when loading data into a infocube thru process chain.
I am looking for hard figures\ std rules like at what % of new data indexs can be dropped etc ..,
ThanksHi Sri:
There is no formula. You need to do a small experiment with your Cube to determin this criterion. This is because the loading data to Cube not only depends on the number of records, bit other factors such as new SIDs, etc.
I would manually load the Cube with the number of recrods equal to the usual number.
Take the time.
Now, delete and create indexes in Batch Job in BW for the Cube. Again, note the total time.
If the second time is significant, dont't delete indexes, let BW manage them.
In my case, I load 2 cubes daily with same infopackage.
1 - deleted and laoded.
2 - history with deifferent level of aggregation.
No. of records = 1 mil.
Cube 1 - I delete indexes and create them.
Cube 2 - Don't delete this because this cubes keeps growing bigger and deleting and creating indexes will give diminishing returns.
FOr these bix Cubes, I do a seperate P-Chain to drop and create indexes on Sundays when no users are querying the Cubes.
Hope this will explain, but I don't have a formula.
Ram Chamarthy. -
Hello,
I have a strange file in my Users folder, named PortDetect.log
I have no idea which app created it and it reappears when I delete it.
Has anyone got the same file? Or know where it may originate from?
Thanks in advance!know where it may originate from?
The Huawei wireless modem driver. -
Trying to delete the Apple Folder from Program Files/Common Files. I can delete all the contents except for the Internet Services folder which prevents me from making the deletion. The error message says "you need permission to delete this file".
Discovered this problem when trying to upgrade from my 3G iPhone to a new 5S iPhone unsucessfully.See note 3 of Troubleshooting issues with iTunes for Windows updates.
tt2 -
If I create a new Apple ID and I delete the old one, Will I lose my purchases and data?
If I create a new Apple ID and I delete the old one, my books, songs, docs and all the data that my old Apple ID contained including my purchased Apps will appear in my new Apple ID and its associated Icloud?
I want to create a new Apple ID but do not lose my data and purchases, How could I do it?Are you entering your Existing Email Address for which you have Access and also are you Entering the Password which Matches Apple Requirement ?
Enter the Email Address that you already have (like Gmail, Yahoo, MSN, Live, etc) but you have never used it for creating Apple ID before.
Passwork Requirement is Minimum 8 Characters, Alpha Numeric and Password should Content atleast 1 Upper Case and 1 Lower Case Letter. You will find the more detail on the same page when Creating Apple Id and iTunes will give you Error if the Password you enter does not match their requirement.
Maybe you are looking for
-
I have some movies and photo albums published in my Gallery. I'm producing web sites using iWeb. I want to insert the photo albums and movies into pages. This works fine when I choose Insert>.Mac Web Gallery> and the appropriate movie. But I never ge
-
Downgrade the ios 7.02 to 6.1.3 i have got errror 3194 show the solution
downgrade the ios 7.02 to 6.1.3 i have got errror 3194 show the solution
-
Facebook will not load my page on iPad mini. Keeps showing network error
I have tried resetting the iPad setting (all of them) and installing and uninstalling. Nothing seems to work. Facebook opens but there is no information or newsfeed when I sign in. However it will pull my online friends and show whose online if I tur
-
Phone number not accepted when ordering photo book
Hello I'm trying to order a photo book but I keep getting an error message saying my phone number is not correct and should be in the following lay-out " 0000 AA". Others in this community already suggested that I should login to my account and re-en
-
Hi, I have an issue with an image that doesn't appear on one of the publish instances. I put an image on a page, published the page (and the image) and it's working fine on one publish instance but not on the other. In firebug we can see that we ge