Picking output determinatio for Warehouse material
Hi,
My issue is that for a delivery is done, the picking output is determined only is the material is not attached to a warehouse else its not done.
Is there any setting ? any SPRO setting ?
Why is this happening ? I am an abaper so don't have much idea about WM.
Please help me with this ASAP.
Thanks in advance.
Regards
Megha
Yes once you created two tax codes (say A1 & A2) in FTXP, do the following in VK11
One Combination
a) Origin Country:::::::::::::::::::IN
b) Valid on:::::::::::::::::::::::::
c) Valid To:::::::::::::::::::::::::
d) Customer Tax Classification::::::1
e) Material Tax Classification::::::1
f) Amount:::::::::::::::::::::::::::100
g) Tax Code:::::::::::::::::::::::::A1
Another Combination
a) Origin Country:::::::::::::::::::IN
b) Valid on:::::::::::::::::::::::::
c) Valid To:::::::::::::::::::::::::
d) Customer Tax Classification::::::1
e) Material Tax Classification::::::2
f) Amount:::::::::::::::::::::::::::100
g) Tax Code:::::::::::::::::::::::::A2
Save the record and now retry the process.
thanks
G. Lakshmipathi
Similar Messages
-
Wrong unit quantities picked in invoices for the material
hi
I have completed a sales cycle for a particular material.
now when i see the Scheduling agreement the quantities in unit(Kg) is perfect but in Invoice the quantity displayed is very very high.
I have checked the master data for the material, and also checked all the conversion rules applied for the material.
but it is perfect.
I checked some other scheduling agreement for the same material and completed the sales cycle it works perfect.
Can anybody guide me from where do this wrong quantities in the Invoice is picked up.
regards
S.CDear,
Please check material master data with MM03.
Check gross unit and it's unit of measure.
net unit and it's unit of measure,
Volume and it's unit of measure.
Go in additional data and also check gross weight, height and length.
Regards,
Mahesh Wagh -
GR output quantity for different material types using 101 mvt
Hi All
Is it possible to have separate GR slip quantities for the same movement type (101) but for different stock types.
I would like 3 GR slips for mvt type 101 for directly procured materials AND
I would like 1 GR slip for mvt type 101 for stock materials
Therefore, the material type on goods receipt would decide how many GR slips would be printed.
What config is necessary?
Thanks in advance
Darrenmaterial type is fixed for a material, it is not changed for GR.
you can make no of GRs or one po.
for stock items you need to make one PO and matrial for account assignment need separete PO.
account assignment PO > material direclty goes to cost center and consumption accouont
no configuration required. -
Output for GR Material Document
Hi Masters
I have maintained condition record for output type WE01(GR Note version 1) for Material document(GR against purchase order).In both condition record and outpt type config I have maintained Dispatch time as 3(Send Application with own transaction) but while determining the output type it takes dispatch time as 1 and not listing in the T code MB90(Process output).
What am I missing?
Regards
MohanHi ,
check this for config......
1. Maintain the Printer Name in SPRO->Matl Mgmt->Inv Mgmt and Phy Inv->Print Control->Gen Settings->Printer Setting
2. Ensure that in SPRO->Matl Mgmt->Inv Mgmt and Phy Inv->Print Control->Gen Settings->Item Print Indicator, 1 stands for Matl Doc print out
3. In SPRO->Matl Mgmt->Inv Mgmt and Phy Inv->Print Control->Gen Settings->Print Version, maintain Print Version 2
4. In SPRO->Matl Mgmt->Inv Mgmt and Phy Inv->Print Control->Maintain Print Indicator for GI/Transfer Posting Documents
5. In SPRO->Matl Mgmt->Inv Mgmt and Phy Inv->Output Determination->Maintain Output Types, for the Output types WE01, WE02 and WE03, ensure the foll:
a. Default Values: Dispatch Time is 3 or 4 as per reqmt. and Tr medium is 1
b. Print Parameter is 7
6. In SPRO->Matl Mgmt->Inv Mgmt and Phy Inv->Output Determination->Printer Det->Pr Det by Pl/StoLoc, maintain the Output device for all your Plants
7. Go to MN21, for Tr Type WE, Print Version 3, maintain Print Item as 1.
Now the settings are ready for Printing Material doc
8. While doing MIGO, ensure that in General Tab, you get "3 Collective Slip" beside the Print Indicator and you tick mark the field.
9. Now depending on the setting in 5a, the Matl doc is printed. If it is 3, you have to print it using MB90. If it is 4, it is printed immediately.
regards,
patil -
System variable for Warehouse name in Pick list PLD
Hi Experts,
My customer would like to show the Warehouse name on the Pick List print layout.
What is the System Variable to display the Warehouse name on the Pick List?. Iu2019m working with Sap Business One 2007A.. Where can I find the system variables for Chile localization. Thanks Very Much
ClaudiaHi Claudio,
Try this,
->> Open the Pick List(System) PLD and Save as the New PLD.
->> Open the NEw PLD and Create 1 Database Field(for WareHouse Name) in Repetetive Area.
Table -> OWHS - WareHouse
Column -> WhsName - WareHouse Name
Save as and Run the Print Preview.
IF will not print the WareHouse Name in Print.
Do this in PLD.
->> Open your PLD.
--> Ralate to WareHouse Code Field ID in WareHouse Name Field at Content Tab on Properties Window.
Regards,
Madhan. -
Output Determination for Material movement
Hi All,
I am configuring output Determination for Material movement.
In my case, am doing the config when the movement type is 311, we want to generate IDoc.
i have configured everything, output type,output Determination schema..
When i am trying to maintain the condition record for the same through MN21,
here i am facing one problem on Partner Function.
Here what partner functuion i'll give.
waiting for all valuable response.
Regards
IndrashishHello Indrashish,
Maintain that output type as partner independent.
This will help.
Regards
Arif Mansuri -
Condition Record for picking Output List
Dear All
Kindly let me know where do we maintain condition record for Picking Output list.
Where do we define a new Output Type for Picking List
Regards
SrihariHi Srihari,
I think i have got the question rightly interpreted.
All you want is to maintain condition records for picking ouptut ... correct ?
You can do it through transaction<b> VP01SHP</b> ....(dont try to find it in easy access..atleast I could not locate it)
Under TCD VP01SHP > V4 you will be able to maintain condition records for all condition types that have been configured for picking.
Hope this helps you .... <b>if yes then pls reward liberally !!</b>
KInd Regards
Sachin Bhonsle -
Output type for the managed codes cut letter is hard coded
Hello,
Very Good afternoon!
I have a requirement to create new Output Types for a Smart Form.
The already existing Output types are hard coded as shown Below :
CONSTANTS : c_kschl_order LIKE nast-kschl
VALUE 'ZUS0',
c_kschl_order1 LIKE nast-kschl
VALUE 'ZUS1',
Now they do not want to use ZUS1. Insted they wnat to use New Output Types.
u2022 Remove ZUS1 as we no longer use this one.
u2022 Add ZAU0
u2022 Add ZNZ0
u2022 Add ZJP0
u2022 Add ZCN0
u2022 Add ZKR0
How to add these Output types without Hardcoding as shown ABove.
Any Suggestions will be appreciated.....
For reference..I will paste the code of the Program here.
Here is the code :
PROGRAM DECLARATION
PROGRAM ID Z_RVADOR01_SALES_CUT_LETTER
TABLES: vbak, "Sales Document: Header Data
vbap, "Sales Document: Item Data
vbpa, "Sales Document: Partner
vbep, "Sales Document: Schedule Line Data
kna1, "General Data in Customer Master
MARA, "Material Master
KOMK, "Communicationarea for conditions
KOMP, "Communicationarea for conditions
KOMVD, "Communicationarea for conditions
VBCO3, "Communicationarea for view
VBDKA, "Headerview
VBDPA, "Itemview
VBDPAU, "Subitemnumbers
CONF_OUT, "Configuration data
SADR, "Addresses
TVAG, "Reason for rejection
VEDKA, "Servicecontract head data
VEDPA, "Servicecontract position data
VEDKN, "Servicecontract head notice data
VEDPN, "Servicecontract pos. notice data
RISERLS, "Serialnumbers
KOMSER, "Serialnumbers for print
TVBUR, "Sales office
TVKO, "Sales organisation
ADRS, "Communicationarea for Address
FPLTDR, "billing schedules
WTAD_ADDIS_IN_SO_PRINT, "additional
WTAD_BUYING_PRINT_EXTRA_TEXT, "texts belonging to additional
adrc,
adr6,
t247.
INCLUDE RVADTABL.
INCLUDE RVDIREKT.
INCLUDE VEDADATA.
data for access to central address maintenance
INCLUDE SDZAVDAT.
TYPE-POOLS: ADDI.
DATA PRICE_PRINT_MODE(1) TYPE C. "Print-mode
DATA: RETCODE LIKE SY-SUBRC. "Returncode
DATA: REPEAT(1) TYPE C.
DATA: XSCREEN(1) TYPE C. "Output on printer or screen
DATA: BEGIN OF STEU, "Controldata for output
VDKEX(1) TYPE C,
VDPEX(1) TYPE C,
KBKEX(1) TYPE C,
KBPEX(1) TYPE C,
END OF STEU.
DATA: BEGIN OF TVBDPA OCCURS 0. "Internal table for items
INCLUDE STRUCTURE VBDPA.
DATA: END OF TVBDPA.
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.
DATA: BEGIN OF TVBDPAU OCCURS 5.
INCLUDE STRUCTURE VBDPAU.
DATA: END OF TVBDPAU.
DATA: BEGIN OF TKOMCON OCCURS 50.
INCLUDE STRUCTURE CONF_OUT.
DATA: END OF TKOMCON.
DATA: BEGIN OF TKOMSERVH OCCURS 1.
INCLUDE STRUCTURE VEDKA.
DATA: END OF TKOMSERVH.
DATA: BEGIN OF TKOMSERVP OCCURS 5.
INCLUDE STRUCTURE VEDPA.
DATA: END OF TKOMSERVP.
DATA: BEGIN OF TKOMSERVHN OCCURS 5.
INCLUDE STRUCTURE VEDKN.
DATA: END OF TKOMSERVHN.
DATA: BEGIN OF TKOMSERVPN OCCURS 5.
INCLUDE STRUCTURE VEDPN.
DATA: END OF TKOMSERVPN.
DATA: BEGIN OF TKOMSER OCCURS 5.
INCLUDE STRUCTURE RISERLS.
DATA: END OF TKOMSER.
DATA: BEGIN OF TKOMSER_PRINT OCCURS 5.
INCLUDE STRUCTURE KOMSER.
DATA: END OF TKOMSER_PRINT.
DATA: BEGIN OF TFPLTDR OCCURS 5.
INCLUDE STRUCTURE FPLTDR.
DATA: END OF TFPLTDR.
DATA: TADDI_PRINT TYPE ADDI_SO_PRINT_ITAB WITH HEADER LINE.
TYPES:BEGIN OF ty_orders ,
xblnr LIKE mkpf-xblnr, "delivery number
erfmg LIKE mseg-erfmg, "goods issue quantity
custname LIKE kna1-name1, "customer name
bstnk LIKE vbak-bstnk, "purchase order number
ean11 LIKE vbap-ean11, "upc
kdmat LIKE vbap-kdmat, "customer material code
arktx LIKE vbap-arktx, "description
csrno LIKE kna1-kunnr, "customer service rep number
spras LIKE kna1-spras, "customer language key
csrname LIKE kna1-name1, "customer service rep name
csremail LIKE adr6-smtp_addr, "csr email
csrphone LIKE kna1-telf1, "csr telephone
csrext LIKE adrc-tel_extens, "csr extension
csrfax LIKE kna1-telfx, "csr fax
total LIKE lips-lfimg, "cut quantity
ldate(18) TYPE c,
END OF ty_orders.
CONSTANTS: c_kschl_order LIKE nast-kschl
VALUE 'ZUS0',
c_kschl_order1 LIKE nast-kschl
VALUE 'ZUS1', c_parvw_shipto LIKE vbpa-parvw
VALUE 'WE',
c_parvw_csr LIKE vbpa-parvw
VALUE 'ZS',
c_eng(1) TYPE c VALUE 'E',
c_sep(1) TYPE c VALUE '/',
c_sale(25) type c VALUE 'Sales Order'.
DATA: WA_VBAK TYPE VBAK,
tbl_ord TYPE ty_orders OCCURS 0 WITH HEADER LINE,
w_csrname(30) TYPE c,
w_csrno(30) TYPE c,
w_email LIKE adr6-smtp_addr,
f_shipto_found TYPE c,
w_custname(30) TYPE c,
w_month(2),
w_ldate(18),
w_total LIKE lips-lfimg,
w_lines TYPE i VALUE 0,
f_mail(1) TYPE c,
cnt_1 TYPE i VALUE 0,
cnt_2 TYPE i VALUE 0,
tbl_otf LIKE itcoo OCCURS 0 WITH HEADER LINE,
w_type(25) TYPE c,
st_doc_data LIKE sodocchgi1,
tbl_objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE,
tbl_line LIKE tline OCCURS 0 WITH HEADER LINE,
tbl_attach LIKE solisti1 OCCURS 10 WITH HEADER LINE,
tbl_objhead LIKE solisti1 OCCURS 10 WITH HEADER LINE,
tbl_proc_para LIKE soparai1 OCCURS 10 WITH HEADER LINE,
tbl_maillist LIKE somlreci1 OCCURS 10 WITH HEADER LINE,
tbl_pack_list LIKE sopcklsti1 OCCURS 10 WITH HEADER LINE,
tbl_cpo LIKE itcpo OCCURS 0 WITH HEADER LINE,"SAPscript output
" interface
tbl_cpp LIKE itcpp OCCURS 0 WITH HEADER LINE,"SAPscript output
" parameters
tbl_smtp TYPE szadr_adsmtp_line OCCURS 0 WITH HEADER LINE,
tbl_cdhdpos LIKE cdshw OCCURS 0 WITH HEADER LINE,
tbl_cdpos LIKE cdshw OCCURS 0 WITH HEADER LINE,
wrk_lines LIKE sy-tabix,
hltlines TYPE i,
off1 TYPE p,
fle1(2) TYPE p,
fle2(2) TYPE p,
htabix LIKE sy-tabix,
hfeld(500) TYPE c.
FORM ENTRY USING RETURN_CODE US_SCREEN.
if sy-tcode = 'VA01'.
IF nast-kschl = c_kschl_order.
SELECT SINGLE * FROM VBAK INTO WA_VBAK WHERE vbeln = nast-objky.
IF SY-SUBRC = 0.
CLEAR RETCODE.
XSCREEN = US_SCREEN.
PERFORM PROCESSING USING us_screen.
IF RETCODE NE 0.
RETURN_CODE = 1.
ELSE.
RETURN_CODE = 0.
ENDIF.
ELSE.
retcode = sy-subrc.
syst-msgid = 'ZVERROR'.
syst-msgno = '000'.
syst-msgty = 'E'.
syst-msgv1 = NAST-KSCHL.
syst-msgv1 = 'Sales Order cut letter
for this order already issued'.
syst-msgv2 = ' '.
PERFORM protocol_update.
ENDIF.
ELSE.
CLEAR retcode.
xscreen = us_screen.
PERFORM processing USING us_screen.
IF retcode NE 0.
return_code = 1.
ELSE.
return_code = 0.
ENDIF.
ENDIF.
endif.
ENDFORM.
FORM PROCESSING *
FORM PROCESSING USING proc_screen.
CASE nast-kschl.
WHEN c_kschl_order.
PERFORM get_orders.
CHECK retcode = 0.
PERFORM openform USING proc_screen vbak-landtx.
CHECK retcode = 0.
PERFORM layout.
CHECK retcode = 0.
CHECK proc_screen NE 'X'.
w_type = c_sale.
PERFORM send_email USING proc_screen.
WHEN c_kschl_order1.
PERFORM get_orders.
CHECK retcode = 0.
CHECK proc_screen NE 'X'.
w_type = c_sale.
PERFORM send_email USING proc_screen.
WHEN OTHERS.
retcode = 1.
syst-msgid = 'E0'.
syst-msgno = '430'.
syst-msgty = 'E'.
PERFORM protocol_update.
ENDCASE.
IF retcode EQ 0.
syst-msgid = '69'.
syst-msgno = '254'.
syst-msgty = 'S'.
syst-msgv1 = nast-kschl.
PERFORM protocol_update.
ELSE.
syst-msgid = 'CKCC'.
syst-msgno = '036'.
syst-msgty = 'E'.
PERFORM protocol_update.
ENDIF.
ENDFORM.
FORM PROTOCOL_UPDATE *
The messages are collected for the processing protocol. *
FORM PROTOCOL_UPDATE.
IF xscreen EQ space.
CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
EXPORTING
MSG_ARBGB = SYST-MSGID
MSG_NR = SYST-MSGNO
MSG_TY = SYST-MSGTY
MSG_V1 = SYST-MSGV1
MSG_V2 = SYST-MSGV2
MSG_V3 = SYST-MSGV3
MSG_V4 = SYST-MSGV4
EXCEPTIONS
OTHERS = 1.
ELSE.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM.
*& Form get_orders
text
--> p1 text
<-- p2 text
FORM get_orders.
DATA : f_csr_found TYPE c.
SELECT SINGLE vbeln vkorg vdatu bstnk kunnr
FROM vbak
INTO (vbak-vbeln,vbak-vkorg,vbak-vdatu,vbak-bstnk,vbak-kunnr)
WHERE vbeln EQ nast-objky.
IF sy-subrc NE 0.
retcode = sy-subrc.
syst-msgid = 'VN'.
syst-msgno = '203'.
syst-msgty = 'E'.
syst-msgv1 = 'VBAK'.
syst-msgv2 = sy-subrc.
PERFORM protocol_update.
ENDIF.
SELECT vbeln posnr matnr pmatn arktx abgru kdmat werks
FROM vbap
INTO (vbap-vbeln,vbap-posnr,vbap-matnr,vbap-pmatn,
vbap-arktx,vbap-abgru,vbap-kdmat,vbap-werks)
WHERE vbeln = vbak-vbeln
AND abgru NE space "select items havng Rejection Reason
and PSTYV NE 'ZHDR'.
to check whether the reason for rejection was picked from the
managed codes tables
data: war_abgru type abgru,
w_exist type c.
clear : war_abgru, w_exist.
select single abgru from ZMAT_REJ002
into war_abgru
where vkorg = vbak-vkorg
and kunnr <> vbak-kunnr
and MATNR = vbap-matnr
and datef <= vbak-vdatu
and datet >= vbak-vdatu.
if sy-subrc <> 0.
select single abgru from ZMAT_REJ003
into war_abgru
where vkorg = vbak-vkorg
and kunnr <> vbak-kunnr
and MATNR = vbap-matnr
and datef <= vbak-vdatu
and datet >= vbak-vdatu.
if sy-subrc <> 0.
select single abgru from ZMAT_REJ001
into war_abgru
where vkorg = vbak-vkorg
and werks <> vbap-werks
and matnr = vbap-matnr
and datef <= vbak-vdatu
and datet >= vbak-vdatu.
if sy-subrc <> 0.
select single abgru from ZMAT_REJ004
into war_abgru
where vkorg = vbak-vkorg
and matnr = vbap-matnr
and datef >= vbak-vdatu
and datet <= vbak-vdatu.
if sy-subrc <> 0.
else.
w_exist = 'X'.
endif.
else.
w_exist = 'X'.
endif.
else.
w_exist = 'X'.
endif.
else.
w_exist = 'X'.
endif.
if w_exist = 'X'.
end for check from managed codes table
*to find the quantity fields
SELECT SINGLE wmeng bmeng
FROM vbep
INTO (vbep-wmeng,vbep-bmeng)
WHERE vbeln EQ vbap-vbeln
AND posnr EQ vbap-posnr.
*to get info about the customer
SELECT SINGLE kunnr
FROM vbpa
INTO vbpa-kunnr
WHERE vbeln EQ vbak-vbeln
AND parvw EQ c_parvw_shipto.
IF sy-subrc EQ 0.
f_shipto_found = 'X'.
SELECT SINGLE name1 spras
FROM kna1
INTO (kna1-name1,kna1-spras)
WHERE kunnr EQ vbpa-kunnr.
IF sy-subrc EQ 0.
w_custname = kna1-name1.
CLEAR kna1-name1.
ENDIF.
ENDIF.
SELECT SINGLE kunnr
FROM vbpa
INTO vbpa-kunnr
WHERE vbeln EQ vbak-vbeln
AND parvw EQ c_parvw_csr.
IF SY-SUBRC EQ 0.
f_csr_found = 'X'.
SELECT SINGLE kunnr name1 name2 adrnr
FROM kna1
INTO (kna1-kunnr,kna1-name1,kna1-name2,
kna1-adrnr)
WHERE kunnr EQ vbpa-kunnr.
IF sy-subrc EQ 0.
w_csrno = kna1-kunnr.
w_csrname = kna1-name1.
CLEAR kna1-name1.
SELECT SINGLE tel_number tel_extens fax_number
FROM adrc
INTO (adrc-tel_number,adrc-tel_extens,
adrc-fax_number)
WHERE addrnumber EQ kna1-adrnr.
CLEAR: adr6, w_email.
SELECT SINGLE * FROM adr6 WHERE addrnumber = kna1-adrnr.
IF sy-subrc = 0.
w_email = adr6-smtp_addr.
ENDIF.
ENDIF.
ENDIF.
*to get the date format in french
IF kna1-spras NE c_eng.
w_month = sy-datum+4(2).
SELECT SINGLE ltx
FROM t247
INTO t247-ltx
WHERE spras EQ kna1-spras
AND mnr EQ w_month.
CONCATENATE sy-datum+6(2)
t247-ltx
sy-datum+0(4)
INTO w_ldate
SEPARATED BY space.
ELSE.
CONCATENATE sy-datum+4(2)
sy-datum+6(2)
sy-datum+0(4)
INTO w_ldate
SEPARATED BY c_sep.
ENDIF.
w_total = vbep-wmeng - vbep-bmeng.
IF w_total GT 0.
PERFORM fill_orders.
ELSE.
IF vbap-abgru NE space.
w_total = vbep-wmeng.
PERFORM fill_orders.
ENDIF.
ENDIF.
CLEAR vbap.
endif. " check for w_exist for Managed Codes entry
ENDSELECT.
IF tbl_ord[] IS INITIAL.
retcode = 1.
syst-msgid = 'FZ'.
syst-msgno = '027'.
syst-msgty = 'E'.
PERFORM protocol_update.
ENDIF.
IF f_csr_found IS INITIAL.
syst-msgid = '8B'.
syst-msgno = '127'.
syst-msgty = 'W'.
syst-msgv1 = c_parvw_csr.
PERFORM protocol_update.
ENDIF.
IF f_shipto_found IS INITIAL.
syst-msgid = '8B'.
syst-msgno = '127'.
syst-msgty = 'W'.
syst-msgv1 = c_parvw_shipto.
PERFORM protocol_update.
ENDIF.
ENDFORM. " get_orders
*& Form layout
text
--> p1 text
<-- p2 text
FORM layout.
SORT tbl_ord BY bstnk kdmat.
LOOP AT tbl_ord.
AT FIRST.
PERFORM writeform_text.
ENDAT.
PERFORM writeform.
AT LAST.
PERFORM writeform_footer.
ENDAT.
ENDLOOP.
CLEAR : cnt_1,cnt_2.
PERFORM closeform.
ENDFORM. " layout
*& Form openform
text
FORM openform USING us_screen us_country.
DESCRIBE TABLE tbl_ord LINES w_lines.
IF w_lines EQ 0.
retcode = '1'.
syst-msgid = 'FE'.
syst-msgno = '078'.
syst-msgty = 'E'.
PERFORM protocol_update.
ENDIF.
CHECK retcode EQ 0.
INCLUDE zrvadopfo.
ENDFORM. " openform
*& Form send_email
text
-->P_PROC_SCREEN text
FORM send_email USING PROC_SCREEN.
f_mail = 'X'.
PERFORM openform USING proc_screen vbak-landtx.
LOOP AT tbl_ord.
AT FIRST.
PERFORM writeform_text.
ENDAT.
PERFORM writeform.
AT LAST.
PERFORM writeform_footer.
ENDAT.
ENDLOOP.
CLEAR cnt_2.
PERFORM closeform.
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF' "'ASCII'
IMPORTING
bin_filesize = st_doc_data-doc_size
TABLES
otf = tbl_otf
lines = tbl_line
EXCEPTIONS "DEVK912166
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3
OTHERS = 4.
IF sy-subrc NE 0.
retcode = sy-subrc.
syst-msgid = 'OA'. "DEVK912166
syst-msgno = '186'. "DEVK912166
syst-msgty = 'E'. "DEVK912166
PERFORM protocol_update.
ENDIF.
REFRESH tbl_objtxt.
CLEAR tbl_objtxt.
CLEAR tbl_proc_para.
REFRESH tbl_proc_para.
CLEAR tbl_maillist.
REFRESH tbl_maillist.
CLEAR tbl_pack_list.
REFRESH tbl_pack_list.
st_doc_data-obj_name = 'Sales Order Cut Letter'.
st_doc_data-obj_langu = 'E'. "DEVK905849
st_doc_data-sensitivty = 'F'. "DEVK905849
st_doc_data-obj_prio = 1. "DEVK905849
CONCATENATE w_type 'Cut Letter' INTO "#EC NOTEXT
st_doc_data-obj_descr SEPARATED BY space.
DATA w_line(3) TYPE c.
PERFORM format_pdf. "DEVK905849
concatenate VBAK-VBELN '.PDF' into tbl_objhead.
tbl_objhead = 'Sales Order Cut Letter.PDF'.
APPEND tbl_objhead.
"DEVK905849
CLEAR wrk_lines.
DESCRIBE TABLE tbl_attach LINES wrk_lines.
fields needed for email
tbl_maillist-com_type = 'INT'.
tbl_maillist-receiver = w_email.
tbl_maillist-rec_type = 'U'.
APPEND tbl_maillist.
send email
CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
STARTING NEW TASK 'MAIL'
EXPORTING
document_data = st_doc_data
document_type = 'PDF'
COMMIT_WORK = 'X' " added after ECC6.0 upgrade
TABLES
object_header = tbl_objhead
object_content = tbl_objtxt
receivers = tbl_maillist
EXCEPTIONS "DEVK912166
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 NE 0.
retcode = sy-subrc.
syst-msgid = 'ZA_G'. "DEVK912166
syst-msgno = '922'. "DEVK912166
syst-msgty = 'E'. "DEVK912166
syst-msgv1 = sy-subrc. "DEVK912166
syst-msgv2 = tbl_smtp-adsmtp-smtp_addr. "DEVK912166
PERFORM protocol_update.
syst-msgid = 'VW'.
syst-msgno = '001'.
syst-msgty = 'E'.
syst-msgv1 = 'Print successful:email Recepient Invalid'."#EC NOTEXT
PERFORM protocol_update.
ENDIF.
ENDFORM. " send_email
*& Form fill_orders
text
--> p1 text
<-- p2 text
FORM fill_orders.
tbl_ord-bstnk = vbak-bstnk.
tbl_ord-kdmat = vbap-kdmat.
tbl_ord-xblnr = vbak-vbeln.
tbl_ord-ean11 = vbap-pmatn.
tbl_ord-arktx = vbap-arktx.
tbl_ord-csrno = w_csrno .
tbl_ord-csremail = w_email.
tbl_ord-spras = kna1-spras .
tbl_ord-csrphone = adrc-tel_number.
tbl_ord-csrfax = adrc-fax_number.
tbl_ord-csrext = adrc-tel_extens.
tbl_ord-total = w_total.
tbl_ord-custname = w_custname.
tbl_ord-csrname = w_csrname .
tbl_ord-ldate = w_ldate.
APPEND tbl_ord.
CLEAR tbl_ord.
CLEAR w_total.
CLEAR w_ldate.
ENDFORM. " fill_orders
*& Form writeform_text
text
--> p1 text
<-- p2 text
FORM writeform_text.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'WTEXT'
window = 'WINDOW2'
EXCEPTIONS
element = 1
window = 2.
IF sy-subrc NE 0.
retcode = sy-subrc.
syst-msgid = 'EBR'.
syst-msgno = '056'.
syst-msgty = 'E'.
syst-msgv1 = 'WTEXT'.
syst-msgv2 = 'WINDOW2'.
PERFORM protocol_update.
ENDIF.
ENDFORM. " writeform_text
*& Form writeform
text
--> p1 text
<-- p2 text
FORM writeform.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'EMAIN'
window = 'MAIN'
EXCEPTIONS
element = 1
window = 2.
IF sy-subrc NE 0.
retcode = sy-subrc.
syst-msgid = 'EBR'.
syst-msgno = '056'.
syst-msgty = 'E'.
syst-msgv1 = 'WTEXT'.
syst-msgv2 = 'WINDOW2'.
PERFORM protocol_update.
ENDIF.
ENDFORM. " writeform
*& Form writeform_footer
text
--> p1 text
<-- p2 text
FORM writeform_footer.
IF nast-spras = 'N'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'FOOTER'
window = 'MAIN'
EXCEPTIONS
element = 1
window = 2.
ENDIF.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'WFOOTER'
window = 'WINDOW12'
EXCEPTIONS
element = 1
window = 2.
IF sy-subrc NE 0.
retcode = sy-subrc.
syst-msgid = 'EBR'.
syst-msgno = '056'.
syst-msgty = 'E'.
syst-msgv1 = 'WFOOTER'.
syst-msgv2 = 'WINDOW12'.
PERFORM protocol_update.
ENDIF.
ENDFORM. " writeform_footer
*& Form closeform
text
--> p1 text
<-- p2 text
FORM closeform.
CALL FUNCTION 'CLOSE_FORM'
TABLES
otfdata = tbl_otf
EXCEPTIONS
unopened = 1
bad_pageformat_for_print = 2
OTHERS = 3.
IF sy-subrc NE 0.
retcode = sy-subrc.
syst-msgid = 'PS'.
syst-msgno = '005'.
syst-msgty = 'E'.
PERFORM protocol_update.
ENDIF.
ENDFORM. " closeform
*& Form format_pdf
text
--> p1 text
<-- p2 text
FORM format_pdf.
FIELD-SYMBOLS <fs>.
DESCRIBE TABLE tbl_line LINES hltlines.
DESCRIBE FIELD tbl_line LENGTH fle1 IN BYTE MODE . Defect#1579-
DESCRIBE FIELD tbl_objtxt LENGTH fle2 IN BYTE MODE . Defect#1579-
Start of Defect#1579+
DESCRIBE FIELD tbl_line LENGTH fle1 IN CHARACTER MODE.
DESCRIBE FIELD tbl_objtxt LENGTH fle2 IN CHARACTER MODE.
End of Defect#1579+
CLEAR tbl_objtxt.
REFRESH tbl_objtxt.
LOOP AT tbl_line.
htabix = sy-tabix.
MOVE tbl_line TO hfeld+off1.
IF htabix = hltlines.
fle1 = strlen( tbl_line ).
ENDIF.
off1 = off1 + fle1.
IF off1 GE fle2.
CLEAR tbl_objtxt.
tbl_objtxt = hfeld(fle2).
APPEND tbl_objtxt.
SHIFT hfeld BY fle2 PLACES.
off1 = off1 - fle2.
ENDIF.
IF htabix = hltlines.
IF off1 GT 0.
CLEAR tbl_objtxt.
tbl_objtxt = hfeld(off1).
APPEND tbl_objtxt.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM. " format_pdf
ANy Suggestion or help will be appreciated!
Regards,
Kittu
Edited by: Kittu on Jun 30, 2008 12:32 PMHello Julie Waller,
Very Good evening!
Thank you very much for your response!
Sometimes...I miss the basic things and start concentarcting on typical ways to fix the issue. ....which will only make my issue critical.
Hello Sathya,
Thank you for your response!
POints are rewarded..
Have a great day ahead!
Regards,
Kittu -
Vendor currency-picking output..
Hi,
I have a vendor who invoices me in different currencies.I have maintained a currency say US$ for him but sometimes he sends me the goods and charges me in EURo depending on from where he sends me the goods.
When I raise a PO, system will by default pick up the currency maintained in the vendor master.
How can this be changed or tackled ?
2. How can I define the output condition for the picking output for the deivery.I mean I have a sales order and the subsequent delivery.Now I want to output the picking list.For that I would need some condition record.How to do this ?
Because when I go to change mode of the delivery to select the output, it does not show up anything as it has not been maintained.But also there only it do not allow to add a one.
Please suggest.VV21 and VV31 I have tried but that is for the delievery output I can use.For example I used standard condition LD00for my outbound delivery output.
But in case of SD delievry and subsequent picking list what is to be done ?
3. How can I do it for the subsequent SD invoice(i.e Billing Document)
Please suggest.
Thanks in advance
Regards,
manOOHI,
Try with this functionality, I dont know whether it really works but i hope we can make a try with different plants
1) Vendor Master : XK01 /XK02
In the Purchasing data:
Select Extras-->Additional purchasing data
Select check box for Data Retention at VSR level allowed and press <Enter>.
Select 'Subranges' button (or Extras-->Sub-ranges)
Maintain 2 sub-ranges (e.g. C1 = INR, C2=EUR)
Click on 'Alternative Data'
Select Subrange (e.g. z1) and press <Enter>
Change the purchasing data as you want (check that the header data contains sub-range also)
Similarly maintain for other sub-range also.
2) Info record for the material:ME11/ME12
In the general data, maintain sub-range as required.
Regards,
RitiG -
Output determination for Sub-Shipment
Hello All,
I have a unique situation and need your inputs to identify possibilities in resolving it.
Here is the situation:
The transportation planning (TPE system) at our client is done by a 3rd party software. Now, we receive a Sales Order from a customer; create a delivery. TPE system creates the shipments and we PGI it and the sales order follows through the next steps. The shipments created from TPE go to Carriers and they carry the product from our warehouse to pool points from where customers pick it up. We have to pay the carriers from moving our goods from our warehouse to pool points. Thus whenever a shipment is created, we check-in...do the next steps in WM and finally when the shipment is ready, it triggers a payment IDOC to be sent to finance (an external system) so that it can be matched with Carrier invoices and then paid.
Our unique problem: There is a carrier (lets call it NCP) who is moving our goods from warehouse to pool point. We got a sales order from customer. This customer doesn't pick up goods from the pool point. He wants it to be delivered to his distribution center and to do this he is using the same transportation carrier (NCP). Thus when we received the sales order from customer, TPE system created a master shipment (5000001M) for NCP to pick up from our warehouse and deliver to pool point. You might be aware that TPE optimizes the route and thus combines multiple deliveries into one master shipment. From here NCP should pick up a part of the master shipment and deliver it to client. Thus SAP automatically created a sub-shipment (5000002S). This sub-shipment is a part of the master shipment and thus will not be separetely processed in WMS. The master shipment is checked-in, loaded and shipment ready - thus creating a payment IDOC to the external payee system. As the Sub-system is a part of master shipment, it is not touched and thus no payment IDOC is created.
Now the carrier sents two invoices - one for master to pick up goods from our warehouse and deliver it to pool point and the second one - to deliver a part of this shipment to customer's DC. Our payment system is unable to match it up with any IDOC's as we didn't send them out from SAP.
So this is where I'm struck. How should I configure the output for a sub-shipment so that it'll be triggered as soon as the delivery is PGI'ed? Could anyone give some inputs here?
Please let me know if more clarification is needed. Thanks in advance for looking into thisDear VGR,
Do the configuration settings for the shipment output determination through this IMG path
IMG>Logistics Execution>Transportation>Basic Transportation Functions>Output Control-->Maintain Output Determination for Shipments
-->Maintain Condition Tables
-->Maintain Output Types
-->Maintain Access Sequences
-->Assign Output Types To Partner Functions
-->Maintain Output Determination Procedure
-->Assign Output Determination Procedures
I wanted to send an EDI to carrier when my planning is done and email to customers when loading takes place.
For he above requirement you take help of ABAPer to develop the output program in such way and assign that program to your shipment output type.
Maintain the condition records through VV71 transaction with Transm. Medium EDI and Email
I hope this will help you,
Regards,
Murali. -
Hello All,
I have a unique situation and need your inputs to identify possibilities in resolving it.
Here is the situation:
The transportation planning (TPE system) at our client is done by a 3rd party software. Now, we receive a Sales Order from a customer; create a delivery. TPE system creates the shipments and we PGI it and the sales order follows through the next steps. The shipments created from TPE go to Carriers and they carry the product from our warehouse to pool points from where customers pick it up. We have to pay the carriers from moving our goods from our warehouse to pool points. Thus whenever a shipment is created, we check-in...do the next steps in WM and finally when the shipment is ready, it triggers a payment IDOC to be sent to finance (an external system) so that it can be matched with Carrier invoices and then paid.
Our unique problem: There is a carrier (lets call it NCP) who is moving our goods from warehouse to pool point. We got a sales order from customer. This customer doesn't pick up goods from the pool point. He wants it to be delivered to his distribution center and to do this he is using the same transportation carrier (NCP). Thus when we received the sales order from customer, TPE system created a master shipment (5000001M) for NCP to pick up from our warehouse and deliver to pool point. You might be aware that TPE optimizes the route and thus combines multiple deliveries into one master shipment. From here NCP should pick up a part of the master shipment and deliver it to client. Thus SAP automatically created a sub-shipment (5000002S). This sub-shipment is a part of the master shipment and thus will not be separetely processed in WMS. The master shipment is checked-in, loaded and shipment ready - thus creating a payment IDOC to the external payee system. As the Sub-system is a part of master shipment, it is not touched and thus no payment IDOC is created.
Now the carrier sents two invoices - one for master to pick up goods from our warehouse and deliver it to pool point and the second one - to deliver a part of this shipment to customer's DC. Our payment system is unable to match it up with any IDOC's as we didn't send them out from SAP.
So this is where I'm struck. How should I configure the output for a sub-shipment so that it'll be triggered as soon as the delivery is PGI'ed? Could anyone give some inputs here?
Please let me know if more clarification is needed. Thanks in advance for looking into this.Chandrasekhar,
Thanks for your inputs, here are the clarifications you've asked for:
1) Sub- shipment is not a SAP object right? Or is it?
- Yes Sub-Shipment is an SAP object. All the shipments are created in TPE (Transportation Management System) by combining deliveries and sent to SAP (SHPMNT Idoc). SHPMNT creates the shipments for each deliveries within SAP. Master Shipments are picked up in WM and processed as per the requirements in the shipment (i.e. packaging etc)
2) You do PGI from shipment and not from delivery right?
- PGI is done on delivery after shipment start/end is completed in WM.
3) What do you mean when you say " .... when the sub-shipment is created but that might cause issues as Carriers can bill us even before the shipment is delivered to client". Carrier won't bill you when sub-shipment is created, right, so you are ahead of the carrier any ways.
- I meant if I create an output type and trigger it as soon as the sub-shipment is created in SAP (from the incoming SHPMNT Idoc), the payment idoc will hit our carrier payment system and is ready to go. Lets assume the carrier sends in an invoice (210), carrier payment system will honor it (it has no visibility on SAP - its an external system). Thus we cannot trigger the payment idoc (858) until the PGI is done on the delivery (to which the sub-shipment is attached).
The situation is:
Master Shipment (500001M) = Delivery 1 + Delivery 2 + Delivery 3 (This should go to customer from pool point - thus sub-shipment 500002S for the same carrier) + Delivery 4 + Delivery 5. This shipment is to delivery from Warehouse to Pool Point.
500001M is handled by WM. They pick/pack and ship. Once the shipment is started, automatically all deliveries are PGI'ed (automatic process). In this process 500002S isn't touched by WM coz they don't have to. So this just stays like that. Because unpacking and re-packing into sub-shipment is the responsibilty of NCP. We just pay for the costs to deliver it to customer's DC.
Now I have to issue output at the shipment level -> because carriers get the shipments (204) and generate invoices (210). Thus I need to generate an output (858) at the sub-shipment level whenever the delivery (to which it is tied to) is PGI'ed (by the automatic process from WM when the master shipment is complete). How can I configure this? The suggestion you gave is to handle the output at delivery level but I cannot do that because the payment instruction is to pay only for the sub-shipment i.e. from pool point to customer's warehouse. But delivery is tied to both master shipment and sub-shipment because this particular product has to go from wareshouse to customer.
You said, we can issue an output at sub-shipment level. Do you know how can I issue the output when the delivery is PGI'ed? Both are independent objects within SAP and also note that none of the tasks within this sub-shipment will be touched by WM. Thus I cannot directly create a condition based on an activity profile.
I hope I'm making some sense. -
Hi ,,
Can anyone please help to set this Warehouse and subcategories scenario with SPRO..
Warehouse Number
- Storage Type( like bulk .. )
- Storage Section/ Picking Area
- Storage Bin
- Quant .
I am able to define only warehouse number . How to set the rest .
Please Help ..
Regards,12.1 Creating Warehouse
Transaction code SPRO
IMG menu Enterprise Structure Definition Logistics Execution Define, copy, delete, check warehouse number
12.2 Defining Control Parameters for Warehouse Number
SAP menu Logistics Execution Warehouse Management Master Date Define Control Parameters for Warehouse Number
Transaction code SPRO
12.3 Spool Parameters for Transfer Order Printing
SAP menu Logistics Execution Warehouse Management Activities Define Print Control
Transaction code SPRO
12.4 Profile for Sorting during TO Print Procedure
SAP menu Logistics Execution Shipping Picking Lean WM Define Print Control
Transaction code SPRO
12.5 Transfer Order Print Indicators
SAP menu Logistics Execution Warehouse Management Activities Define Print Control
Transaction code SPRO
12.6 Print Program per Warehouse Number
SAP menu Logistics Execution Warehouse Management Activities Define Print Control
Transaction code SPRO
12.7 Defining Number Ranges
SAP menu Logistics Execution Warehouse Management Master Data Define Number Ranges
Transaction code SPRO
12.8 Defining Number Ranges for WM
SAP menu Logistics Execution Warehouse Management Master Data Define Number Ranges
Transaction code SPRO
12.9 Warehouse Settings
12.9.1 Defining Storage Type
SAP menu Logistics Execution Warehouse Management Master Data Define Storage Type
Transaction code SPRO
12.9.2 Defining Storage Sections
SAP menu Logistics Execution Warehouse Management Master Data Define Storage Sections
Transaction code SPRO
12.9.3 Defining Storage Bin Types
SAP menu Logistics Execution Warehouse Management Master Data Storage Bins Define Storage Bin Types
Transaction code SPRO
12.9.4 Defining Storage Type Indicator
SAP menu Logistics Execution Warehouse Management Master Data Material Define Storage Types Indicators
Transaction code SPRO
12.9.5 Defining Storage Unit Types
SAP menu Logistics Execution Warehouse Management Master Data Material Define Storage Unit Type
Transaction code SPRO
12.9.6 Defining Storage Section Indicators
SAP menu Logistics Execution Warehouse Management Master Data Material Define Storage Section Indicators
Transaction code SPRO
12.9.7 Assigning Warehouse number to plant/storage location
SAP menu Enterprise Structure Assignment Logistics Execution Assign Warehouse Number to plant/storage location
Transaction code SPRO
12.9.8 Defining Requirement Types
SAP menu Logistics Execution Warehouse Management Activities Transfers Define Requirement Types
Transaction code SPRO
12.9.9 Activate Storage Unit Management per Warehouse Number
SAP menu Logistics Execution Warehouse Management Storage Units Master Data Activate Storage Unit Management per Warehouse Number
Transaction code SPRO
Defining control parameters and number ranges f. warehouse no.
SAP menu Logistics Execution Shipping Picking Lean WM Define control parameters and number ranges f. warehouse no.
Transaction code SPRO
12.11 Defining Difference Indicators
SAP menu Logistics Execution Shipping Picking Lean WM Define Difference Indicators
Transaction code SPRO -
Multiple Posting change notice created for one material document
Hi All,
The scenario is that the user needs to transfer material from unrestricted to quality stock type. while doing so the storage type is different than the actual storage type for the material. Meaning if the material is normally stored in high rack storage type, when it is found that the material is damaged or expired it need to be moved to the quality storage type. For this the user will first create material document in IM with movement type 322 transferring material from unrestricted stock to qualtiy stock. A PCN will be created in back ground which will in turn be converted manually by the user to a TO. while doing so the user will pick the quant manually from the required storage type and select the destination storage type as the quality or quanranntine area.
The issue here is that system creates one PCN for each material document line item. The requirement is that the system should create only one PCN with multiple lines for one Material document.
The setting in the movememnt type clearly says that it will behave as it is behaving.
Is there any other way or setting by which we can create one PCN with multiple line items for a material document.
Would look forward to your replies.
Regards,
JeetendraThanks and Sorry for the delayed reply. We have now convinced the users that the system behaviour is standard and we cannot change the same.
To your question about the need to have one PCN with multiple lines please note that the setup is such that when material document is created for transferring material from unrestricted to quality and vice versa this document is created with multiple materials in one go. Now when the PCN is to be converted to TO then the user ends up in creating number of TO's equal to the number of lines in the Material Document. We wanted to avoid this and hence this was posted in SDN. -
Production Order for a material without BOM and Routing
Is it possible to create a production order for a given material without routing and BOM, I know we can
create a production order for a material without a BOM (with a default routing) just wanted to check with
the above criteria
Thanks in Advance!!Members:
Thank you for your valuable replies and time
Santosh:
Tried what you have mentioned, but system still picks up a default routing
Kaushik:
Maintained Default values in OPJG for the given order type, but system still picks up
default routing
Mangalraj:
have no issue in creating a production order without a BOM, but I am trying to see
is there a way where I can create a production order without a BOM and routing (not
even default operation )
Any suggestions on how to create a production order for a material without a BOM
and routing (not even default one ) -
Unable to generate picking output
Hi
I am working on ECC6.0 and trying to do picking output from VL02n before doing a PGI. can anyone tell me what config is required to generate a picking list output before doing the PGI? I tried with EK00 output type but somehow it is not working as I see no outputs. I have done all the settings but could I have missed something because in NACE, I cannot able to see V4 at all. I have maintained the print parameters for shipping point and output determination in VOK2 as well.
Regards
KellyHi
You can activate picking using the transaction OVLP.
The path is IMG ➢ Logistics Execution ➢ Shipping ➢ Picking ➢ Define Relevant Item Categories.
On this screen, select the item categories that are relevant to picking, and activate the picking flag.
Specifying Rules for Picking Location
When you mark an item as relevant to picking, you have to specify the location from where it is to be picked up. In SAP, this is the storage location. To make these settings, you need to work in consultation with your WM or MM/IM team to get the list of storage locations where the finished product will be stored.
Storage locations can be determined automatically in the delivery. Two options, or rules, are predefined in SAP (the MM module) for this purpose
The details of these rules are not in the scope of SD. For purposes of this discussion, we will use the MALA rule. To select the rule, the path in customization is asfollows:
IMG ➢ Logistics Execution ➢ Shipping ➢ Picking ➢ Determine Picking Location ➢ Define Rules For Picking Location Determination.
Always remember that the customer pricing procedure is picked up from the master data of the sold-to party.
Regards from Pakistan
Maybe you are looking for
-
Mavericks Cover flow in Finder gets lost
This is a repost from "Lion" category. Fits better here. "have upgraded to Mavericks, and I am having trouble with Coverflow in the Finder. When I delete files it gets lost, showing previews of files that are not the ones that are highlighted. The sp
-
I have a new mac mini, do I have enough space to download Windows 7, and can I do it through online purchase or disc? My bootcamp assistant mentions using a USB flash drive???
-
Select column in main query from sub query (derived table) -
Hi: I have the following query - How do I select Tot_Atnd defined in the derived table SELECT count(distinct c.prgm_id) AS "Total Completed", h.Tot_Atnd FROM iplanrpt.vm_rpt_prgm c INNER JOIN *(SELECT PRGM_ID, SUM(CASE WHEN ATTENDED_IND = 'Y' THEN
-
1 page signature page (non e-signatures)
Hi, I am created an edible PDF and the applicant needs to submit a signature to "confirm" the application. Unfortunately we do not accept e-signatures, so it needs to be a real one. If we want them to submit via email, is there a way of having a 1 pa
-
How to "auto" generate "Primary Key" in custom table?
Hi Folks, Requirement: I need a function module or program that can create automatically a primary key. Scenario: I have a program that creates an entries and save it to a custom table at the same time, but a primary key should always be generated re