Need help on smartform spool generation for payslips
Hi Experts,
My development of Payslip form is done, its all fine.
Here is some clarification I need on the spool generation:
First time I run the program for 2 employees, I get 2 pages one for each employee, as expected.
When I again run the program for 2 employees, 2 pages are added to the same spool request.
My requirement is to create a new spool when the program is executed for the next time. I have tried setting NO_OPEN and NO_CLOSE in control parameters and also I have tried with several output option settings. I have also tried using FMs SSF_OPEN and SSF_CLOSE. But no luck so far.
Please note that this is HR Payslip hence the smartform is being called inside the GET PERNR loop.
Thanks in advance.
Hi,
Here you can find the list of preconditions in order for Spool system to append to existing spool. Setting TDNEWID suggested by Nick will work and is the best solution if you wish to have each document in own spool. If you wish to have spool per job, you'd have to ensure that just the first document is output with TDNEWID set. You can also ensure spool separation by outputing the last document of the job by setting TDFINAL print parameter. Or you can ensure that spools will always be assigned a unique Title...
cheers
Janis
Similar Messages
-
Need Help to create new screen for RF Sapconsole
Hi Guru's
I'm new on RF (but some years in ABAP) since last week.
I need help to create new screens for RF (SAPLLMOB).
Can someone explain me the procedure to create screen (with ABAP code after) or perhaps someone have an exemple (simple or not) ?
I have to develop 2 new screens with really few time.
And, another subsidiary question :
how SAP can transfert information between the flash gun and the screen i have developped.
Is there some code to add to enable this functionality or it is include in SAPLLMOB on standard fields ????
It's a new strange world for me today...
Many thanks to everyone who can explain me
Alainhi,
I am facing this problem as well. Is there any reference to create the new screen?
Hope someone can help! Thanks!
Regards,
Darren -
How do I reorder songs in a playlist in the new itunes??? I can no longer just click and drag. When I click, it doesn't move!!!! Need help ASAP- trying to prepare for an aerobics class and need songs in a specific order!
Vera,
Use View > View Options, and set 'Sort By" to "Manual Order."
Then you will be able to drag-n-drop songs up and down the list. -
Need help with a activation code for Adobe Acrobat X Standard for my PC, Don't have older Version of Adobe Acrobat 9, 8 or 7.
You don't need to install the older version, you only need the serial number from your original purchase. If you don't have them to hand, did you register? If so, they should be in your Adobe account. If not you really need to contact Adobe, though it isn't clear they will be able to do anything without some proof of purchase etc.
-
I need help getting new authorization codes for digital copies
I need help getting new authorization codes for digital copies of movies. Can someone help me out?
There's a lot of results in Google when you search for this but unfortunately refreshing the page doesn't seem to generate a different code anymore. Mine also says already redeemed
-
I need help in Downloading Adobe Elements for my Mac & Adobe Acrobat for my laptop...I have been battling for the last day.
~graffiti wrote:
PjonesCET wrote:
I know if you attempt to download and exe file to Mac from a Mac Partition you'll get something like. Cannot not understand file format octet-stream. This means it does not recognize MS execute files.
Not necesarily. I've done it a few times.
PjonesCET wrote:
I'm not sure you can download a PC copy of Acrobat 9 unless you operating from bootcamp or other such application and running the PC partition.
Yes. You can.
I've learned something. New. This must be recently changed. That last time I clicked on a Link I though was a dmg file and turned out it was and exe file my Macs wouldn't allow me to do so. But haven't tried recently everytime and exe file comes up I cancel. I gues I am used to the time everytime a Virus or some other nasty was downloaded it was packaged in and exe file and Macs owuldn't allow it. I suppose with the INtel guts now they can no longer refuse to download. -
Maestro need help also code is 75957252 for bios password reset
maestro need help also code is 75957252 for bios password reset
This question was solved.
View Solution.Check your other post. I replied there.
****Please click on Accept As Solution if a suggestion solves your problem. It helps others facing the same problem to find a solution easily****
2015 Microsoft MVP - Windows Experience Consumer -
I need help getting the license number for Adobe Photoshop Elements. However, It doesn't recognize me as an authorized user. Can someone help?@
I am having the same problem...did you ever fix it?
-
I think I need help with driver (software) settings for D110a
I think I need help with driver (software) settings for D110a all-in-one
Product: D110a all-in-one
OS: Windows XP Professional
Error messages: None
Changes before problem appeared: None--new installation
The quality of photo images (mostly JPG files) in printouts is awful even though the files display beautifully on the PC screen. I am using
IrfanView software for displaying/printing. As far as I can tell, IrfanView is not the problem.
When I print the same images on a Deskjet 5150 attached to a different PC also running XP Pro and IrfanView, the quality of the printouts is at
least acceptable, Some would probably say good or very good.
It's dificult to explain in words the problem with the printouts. A picture of really pretty vegetables (squashes, tomatoes, watermelon, etc) comes
out much too red. Moreover, the red, which appears shaded on the screen, seems to be all one shade in the D110a printouts.
Something similar happens to a view of a huge tree in full leaf. On screen, there are subtle variations in the "greenness" of the leaves. In the
printout, all green is the same shade. In the same printout, the trunk of the tree is all a single shade of grey. It isn;t even obvious that the
trunk is a round, solid object.
I liken the effect to audio that disappears entirely when you lower the volume and gets clipped into square waves in even moderately loud passages.
I don't know whether the D110a driver software permits adjusting the parameters that appear to be set incorrectly, and if adjustments are possible,
how I would identify which parameters to adjust, how I would access them, or how I would adjust them. I'm hoping that someone can help. Thanks.
I forgot to mention that I have used the diagnostic application and it tells me that there are no problems.
e-mail me at [email protected]brazzmonkey wrote:
Hi everyone,
I noticed the following message when network starts on my gateway
Warning: This functionality is deprecated.
Please refer to /etc/rc.conf on how to define a single wired
connection, or use a utility such as netcfg.
Then I realized the way network settings should be written in rc.conf has changed. But I can't figure out how this should be done.
Currently, my set up is the following (old way):
INTERFACES=(eth0 eth1)
eth0="dhcp"
eth1="eth1 192.168.0.10 netmask 255.255.255.0 broadcast 192.168.0.255"
ROUTES=(!gateway)
eth0 is on DHCP because the IP is dynamically assigned my ISP.
eth1 has a fix IP because it's on the LAN side.
No problem to use DHCP on eth0 with the new settings.
But for eth1, I don't know what I am supposed to write for gateway.
Wiki isn't clear on that one either, and it looks like many articles still refer to the old way.
Any guidance appreciated, thanks.
brazzmonkey,
you can't define 2 interfaces the old way (even though I saw some tricky workaround somewhere in the forums).
Use, f.e., netcfg:
Comment your old lines.
In /etc/rc.conf insert:
NETWORKS=(Eth0-dhcp Eth1-static)
DAEMONS=(..... !network @net-profiles ....)
In /etc/network.d create 2 files:
First one is named Eth0-dhcp.
Contents:
CONNECTION="ethernet"
DESCRIPTION="Whatever text"
INTERFACE=eth0
HOSTNAME="your hostname"
IP="dhcp"
DHCP_TIMEOUT=15
Second one is named Eth1-static.
Contents:
CONNECTION='ethernet'
DESCRIPTION='whatver'
INTERFACE='eth1'
HOSTNAME='hname'
IP='static'
ADDR='192.168.0.10'
GATEWAY='192.168.0.1' # your gateway IP
DNS=('192.168.0.1') # your DNS server
The names Eth0-dhcp and Eth1-static are not magic. They just must be the same in rc.conf and in /etc/network.d.
Hope it helps.
mektub
PS: netcfg must be installed.
Last edited by Mektub (2011-07-20 14:07:05) -
Need help reformatting my hard drive for mac only
Help please
Need help reformatting my hard drive for mac only with my toshishba hard driveWhat Mac is this please, with what version of OS X?
-
Need help to redeem contact code for OS X 7
Need help to redeem contact code for OS X 7
Hello NOREDEEM,
Thanks for using Apple Support Communities.
If you have the purchase code for OS X 10.7 Lion, then you can follow the directions below to redeem it on your Mac.
Mac App Store: Redeem gift cards and download codes
Take care,
Alex H. -
I need help with downgradeing my ios for my ipod touch 4th gen
i need help with downgradeing my ios for my ipod touch 4th gen
As has alwys been the case, you cannot go back.
Sorry -
Need help reinstalling Acrobat X pro for MAC. Got one site but I-tunes didn't recognize so couldn't go further. I have serial
Actually, you can and have downloaded from there, because that message only happens when the download is finished.
The message is entirely normal, and is Apple's way of encouraging the world to use the Mac App Store. That doesn't help you because Acrobat isn't in the Mac App Store - it isn't allowed there.
So, what to do? Change your system settings
Please follow the steps given below to resolve this issue -
System Preferences > Security & Privacy > General > Allow applications downloaded from > Anywhere -
It's very urgent i need help in smartforms
I need your help for smartforms. I created a smartforms in SD for getting quotations. My problem is that when I run da report it is not executing & if i run smartforms it is giving error in da functional module as - In program "/1BCDWB/SAPLSF00000003 ", the following syntax error occurred:
"The data object "I_HEADER" does not have a component called "BNAME"."
and more over i need a code for my my user tht when i execute this form before displaying print or printpreview i should give a popup window asking da user whether to display item code or not then i should get da print or printpreview. when the user needs item code he can print as well if he don't it should not display. this da code i return in se38 editor. In smartforms i wrote code for getting company address etc. I did not write anything in initialization.
source code
*& Application : Sales & Distribution (SD)
*& Description : This report will Print Sales Order Confirmation Using Smartform
*& Transaction Code :
*& Area Menu Code : ZSD
*& Layout : ZSDORDERCONF
*& Dev.Complited On :
REPORT ZSDR0004.
INCLUDE: ZSDI0003.
S U B R O U T I N E S *
FORM ENTRY USING RETURN_CODE TYPE I
US_SCREEN TYPE C.
CLEAR RETCODE.
XSCREEN = US_SCREEN.
PERFORM PROCESSING.
IF RETCODE NE 0.
RETURN_CODE = 1.
ELSE.
RETURN_CODE = 0.
ENDIF.
ENDFORM. "ENTRY
FORM PROCESSING *
FORM PROCESSING.
PERFORM GET_DATA.
CHECK RETCODE = 0.
PERFORM PRINT_DATA.
CHECK RETCODE = 0.
ENDFORM. "PROCESSING
FORM CHECK_REPEAT *
A text is printed, if it is a repeat print for the document. *
FORM CHECK_REPEAT.
CLEAR REPEAT.
SELECT * INTO *NAST FROM NAST WHERE KAPPL = NAST-KAPPL
AND OBJKY = NAST-OBJKY
AND KSCHL = NAST-KSCHL
AND SPRAS = NAST-SPRAS
AND PARNR = NAST-PARNR
AND PARVW = NAST-PARVW
AND NACHA BETWEEN '1' AND '4'.
CHECK *NAST-VSTAT = '1'.
REPEAT = 'X'.
EXIT.
ENDSELECT.
ENDFORM. "CHECK_REPEAT
FORM GET_DATA *
General provision of data for the form *
FORM GET_DATA.
DATA: US_VEDA_VBELN LIKE VEDA-VBELN.
DATA: US_VEDA_POSNR_LOW LIKE VEDA-VPOSN.
DATA: DA_MESS LIKE VBFS OCCURS 0 WITH HEADER LINE.
DATA: DA_SUBRC LIKE SY-SUBRC,
DA_DRAGR LIKE TVAG-DRAGR.
DATA: DA_GANF(1) TYPE C, "Print flag for billing correction
DA_LANF(1) TYPE C. "Print flag for billing correction
CALL FUNCTION 'RV_PRICE_PRINT_GET_MODE'
IMPORTING
E_PRINT_MODE = PRICE_PRINT_MODE.
IF PRICE_PRINT_MODE EQ CHARA.
CALL FUNCTION 'RV_PRICE_PRINT_REFRESH'
TABLES
TKOMV = TKOMV.
ENDIF.
CLEAR KOMK.
CLEAR KOMP.
VBCO3-MANDT = SY-MANDT.
VBCO3-SPRAS = NAST-SPRAS.
VBCO3-VBELN = NAST-OBJKY.
VBCO3-KUNDE = NAST-PARNR.
VBCO3-PARVW = NAST-PARVW.
CALL FUNCTION 'RV_DOCUMENT_PRINT_VIEW'
EXPORTING
COMWA = VBCO3
IMPORTING
KOPF = VBDKA
TABLES
POS = TVBDPA
MESS = DA_MESS
EXCEPTIONS
FEHLER_BEI_DATENBESCHAFFUNG = 1.
IF SY-SUBRC NE 0.
PERFORM PROTOCOL_UPDATE.
RETCODE = 1.
EXIT.
ELSE.
LOOP AT DA_MESS.
SY-MSGID = DA_MESS-MSGID.
SY-MSGNO = DA_MESS-MSGNO.
SY-MSGTY = DA_MESS-MSGTY.
SY-MSGV1 = DA_MESS-MSGV1.
SY-MSGV2 = DA_MESS-MSGV2.
SY-MSGV3 = DA_MESS-MSGV3.
SY-MSGV4 = DA_MESS-MSGV4.
PERFORM PROTOCOL_UPDATE.
ENDLOOP.
ENDIF.
*Get Header Data In I_HEADER Table.
SELECT VBAKVBELN VBAKAUDAT VBAKKUNNR VBAKWAERK
VBAKVKORG VBAKANGDT VBAKBNDDT VBAKVBTYP
VBAKKNUMV VBAKKALSM VBAKNETWR VBAKVKBUR
VBAKBNAME VBKDBSTKD VBKDBSTDK VBKDINCO1
VBKDINCO2 VBKDZTERM
INTO CORRESPONDING FIELDS OF TABLE I_HEADER
FROM VBAK
JOIN VBKD ON VBKDVBELN = VBAKVBELN
WHERE VBAK~VBELN = VBCO3-VBELN.
**Get Address Number For Company
IF NOT I_HEADER[] IS INITIAL.
READ TABLE I_HEADER INDEX 1.
SELECT SINGLE BUKRS ADRNR INTO (COMPCD, ADDCOMP)
FROM TVKO
WHERE VKORG = I_HEADER-VKORG.
ENDIF.
fill address key --> necessary for emails
ADDR_KEY-ADDRNUMBER = VBDKA-ADRNR.
ADDR_KEY-PERSNUMBER = VBDKA-ADRNP.
ADDR_KEY-ADDR_TYPE = VBDKA-ADDRESS_TYPE.
Fetch servicecontract-data and notice-data for head and position.
US_VEDA_VBELN = VBDKA-VBELN.
US_VEDA_POSNR_LOW = POSNR_LOW.
CALL FUNCTION 'SD_VEDA_GET_PRINT_DATA'
EXPORTING
I_DOCUMENT_NUMBER = US_VEDA_VBELN
I_LANGUAGE = SY-LANGU
I_POSNR_LOW = US_VEDA_POSNR_LOW
TABLES
PRINT_DATA_POS = TKOMSERVP
PRINT_DATA_HEAD = TKOMSERVH
PRINT_NOTICE_POS = TKOMSERVPN
PRINT_NOTICE_HEAD = TKOMSERVHN.
PERFORM GET_CONTROLL_DATA.
PERFORM SENDER.
PERFORM CHECK_REPEAT.
LOOP AT TVBDPA.
VBDPA = TVBDPA.
IF VBDPA-DRAGR EQ SPACE. "Print rejected item?
IF VBDPA-POSNR_NEU NE SPACE. "Item
PERFORM GET_ITEM_SERIALS.
PERFORM GET_ITEM_CHARACTERISTICS.
PERFORM GET_ITEM_BILLING_SCHEDULES.
PERFORM GET_ITEM_PRICES.
PERFORM GET_ITEM_ADDIS.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM. "GET_DATA
FORM GET_ITEM_BILLING_SCHEDULES *
In this routine the billing schedules are fetched from the *
database. *
FORM GET_ITEM_BILLING_SCHEDULES.
REFRESH TFPLTDR.
CHECK NOT VBDPA-FPLNR IS INITIAL.
CALL FUNCTION 'BILLING_SCHED_PRINTVIEW_READ'
EXPORTING
I_FPLNR = VBDPA-FPLNR
I_LANGUAGE = NAST-SPRAS
I_VBELN = VBDKA-VBELN
TABLES
ZFPLTDR = TFPLTDR.
ENDFORM. "GET_ITEM_BILLING_SCHEDULES
*& FORM GET_ITEM_ADDIS
Additionals data are fetched from database
FORM GET_ITEM_ADDIS.
CLEAR: TADDI_PRINT.
CALL FUNCTION 'WTAD_ADDIS_IN_SO_PRINT'
EXPORTING
FI_VBELN = VBDKA-VBELN
FI_POSNR = VBDPA-POSNR
FI_LANGUAGE = SY-LANGU
TABLES
FET_ADDIS_IN_SO_PRINT = TADDI_PRINT
EXCEPTIONS
ADDIS_NOT_ACTIVE = 1
NO_ADDIS_FOR_SO_ITEM = 2
OTHERS = 3.
ENDFORM. " GET_ITEM_ADDIS
FORM GET_ITEM_CHARACTERISTICS *
In this routine the configuration data item is fetched from *
the database. *
FORM GET_ITEM_CHARACTERISTICS.
DATA DA_T_CABN LIKE CABN OCCURS 10 WITH HEADER LINE.
DATA: BEGIN OF DA_KEY,
MANDT LIKE CABN-MANDT,
ATINN LIKE CABN-ATINN,
END OF DA_KEY.
REFRESH TKOMCON.
CHECK NOT VBDPA-CUOBJ IS INITIAL AND
VBDPA-ATTYP NE VAR_TYP.
CALL FUNCTION 'VC_I_GET_CONFIGURATION'
EXPORTING
INSTANCE = VBDPA-CUOBJ
LANGUAGE = NAST-SPRAS
PRINT_SALES = CHARX
TABLES
CONFIGURATION = TKOMCON
EXCEPTIONS
OTHERS = 4.
RANGES : DA_IN_CABN FOR DA_T_CABN-ATINN.
Beschreibung der Merkmale wegen Objektmerkmalen auf sdcom-vkond holen
CLEAR DA_IN_CABN. REFRESH DA_IN_CABN.
LOOP AT TKOMCON.
DA_IN_CABN-OPTION = 'EQ'.
DA_IN_CABN-SIGN = 'I'.
DA_IN_CABN-LOW = TKOMCON-ATINN.
APPEND DA_IN_CABN.
ENDLOOP.
CLEAR DA_T_CABN. REFRESH DA_T_CABN.
CALL FUNCTION 'CLSE_SELECT_CABN'
EXPORTING
KEY_DATE = SY-DATUM
BYPASSING_BUFFER = ' '
WITH_PREPARED_PATTERN = ' '
I_AENNR = ' '
IMPORTING
AMBIGUOUS_OBJ_CHARACTERISTIC =
TABLES
IN_CABN = DA_IN_CABN
T_CABN = DA_T_CABN
EXCEPTIONS
NO_ENTRY_FOUND = 1
OTHERS = 2.
Preisfindungsmerkmale / Merkmale auf VCSD_UPDATE herausnehmen
SORT DA_T_CABN.
LOOP AT TKOMCON.
DA_KEY-MANDT = SY-MANDT.
DA_KEY-ATINN = TKOMCON-ATINN.
READ TABLE DA_T_CABN WITH KEY DA_KEY BINARY SEARCH.
IF SY-SUBRC <> 0 OR
( ( DA_T_CABN-ATTAB = 'SDCOM' AND
DA_T_CABN-ATFEL = 'VKOND' ) OR
( DA_T_CABN-ATTAB = 'VCSD_UPDATE' ) ) .
DELETE TKOMCON.
ENDIF.
ENDLOOP.
ENDFORM. "GET_ITEM_CHARACTERISTICS
FORM GET_ITEM_PRICES *
In this routine the price data for the item is fetched from *
the database. *
FORM GET_ITEM_PRICES.
CLEAR: KOMP,
TKOMV.
IF KOMK-KNUMV NE VBDKA-KNUMV OR
KOMK-KNUMV IS INITIAL.
CLEAR KOMK.
KOMK-MANDT = SY-MANDT.
KOMK-KALSM = VBDKA-KALSM.
KOMK-KAPPL = PR_KAPPL.
KOMK-WAERK = VBDKA-WAERK.
KOMK-KNUMV = VBDKA-KNUMV.
KOMK-KNUMA = VBDKA-KNUMA.
KOMK-VBTYP = VBDKA-VBTYP.
KOMK-LAND1 = VBDKA-LAND1.
KOMK-VKORG = VBDKA-VKORG.
KOMK-VTWEG = VBDKA-VTWEG.
KOMK-SPART = VBDKA-SPART.
KOMK-BUKRS = VBDKA-BUKRS_VF.
KOMK-HWAER = VBDKA-WAERS.
KOMK-PRSDT = VBDKA-ERDAT.
KOMK-KURST = VBDKA-KURST.
KOMK-KURRF = VBDKA-KURRF.
KOMK-KURRF_DAT = VBDKA-KURRF_DAT.
ENDIF.
KOMP-KPOSN = VBDPA-POSNR.
KOMP-KURSK = VBDPA-KURSK.
KOMP-KURSK_DAT = VBDPA-KURSK_DAT.
if vbdka-vbtyp ca 'HKNOT6'.
if vbdpa-shkzg ca ' A'.
komp-shkzg = 'X'.
endif.
else.
if vbdpa-shkzg ca 'BX'.
komp-shkzg = 'X'.
endif.
endif.
IF PRICE_PRINT_MODE EQ CHARA.
CALL FUNCTION 'RV_PRICE_PRINT_ITEM'
EXPORTING
COMM_HEAD_I = KOMK
COMM_ITEM_I = KOMP
LANGUAGE = NAST-SPRAS
IMPORTING
COMM_HEAD_E = KOMK
COMM_ITEM_E = KOMP
TABLES
TKOMV = TKOMV
TKOMVD = TKOMVD.
ELSE.
CALL FUNCTION 'RV_PRICE_PRINT_ITEM_BUFFER'
EXPORTING
COMM_HEAD_I = KOMK
COMM_ITEM_I = KOMP
LANGUAGE = NAST-SPRAS
IMPORTING
COMM_HEAD_E = KOMK
COMM_ITEM_E = KOMP
TABLES
TKOMV = TKOMV
TKOMVD = TKOMVD.
ENDIF.
ENDFORM. "GET_ITEM_PRICES
FORM GET_HEADER_PRICES *
In this routine the price data for the header is fetched from *
the database. *
FORM GET_HEADER_PRICES.
LOOP AT TVBDPA.
CALL FUNCTION 'SD_TAX_CODE_MAINTAIN'
EXPORTING
KEY_KNUMV = VBDKA-KNUMV
KEY_KPOSN = TVBDPA-POSNR
I_APPLICATION = ' '
I_PRICING_PROCEDURE = VBDKA-KALSM
TABLES
XKOMV = TKOMV.
ENDLOOP.
IF PRICE_PRINT_MODE EQ CHARA.
CALL FUNCTION 'RV_PRICE_PRINT_HEAD'
EXPORTING
COMM_HEAD_I = KOMK
LANGUAGE = NAST-SPRAS
IMPORTING
COMM_HEAD_E = KOMK
TABLES
TKOMV = TKOMV
TKOMVD = TKOMVD.
ELSE.
CALL FUNCTION 'RV_PRICE_PRINT_HEAD_BUFFER'
EXPORTING
COMM_HEAD_I = KOMK
LANGUAGE = NAST-SPRAS
IMPORTING
COMM_HEAD_E = KOMK
TABLES
TKOMV = TKOMV
TKOMVD = TKOMVD.
ENDIF.
ENDFORM. "GET_HEADER_PRICES
FORM PRINT_DATA *
Print Quotation *
FORM PRINT_DATA.
DATA: ls_control TYPE ssfctrlop.
data: OUTPUT_OPTIONS TYPE SSFCOMPOP,cf_retcode type sy-subrc.
DATA: ls_print_data_to_read TYPE lbbil_print_data_to_read.
DATA: ls_addr_key LIKE addr_key.
DATA: ls_dlv-land LIKE vbrk-land1.
DATA: ls_job_info TYPE ssfcrescl.
DATA: ls_control_param TYPE ssfctrlop.
DATA: ls_composer_param TYPE ssfcompop.
DATA: ls_recipient TYPE swotobjid.
DATA: ls_sender TYPE swotobjid.
DATA: NAST_ANZAL LIKE NAST-ANZAL. "Number of outputs (Orig. + Cop.)
DATA: NAST_TDARMOD LIKE NAST-TDARMOD. "Archiving only one time
DATA: ls_bil_invoice TYPE lbbil_invoice.
SELECT SINGLE SFORM INTO LF_FORMNAME
FROM TNAPR
WHERE KSCHL = NAST-KSCHL
AND NACHA = NAST-NACHA.
*IF NAST-KSCHL = 'ZORD'.
lf_formname = 'ZSDORDERCONF'.
*ELSEIF NAST-KSCHL = 'ZOR1'.
lf_formname = 'ZSDORDERCONF'.
*ELSEIF NAST-KSCHL = 'ZOR2'.
lf_formname = 'ZCSORDERCONF'.
ENDIF.
determine smartform function module for invoice
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = lf_formname
IMPORTING
fm_name = lf_fm_name
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.
IF sy-subrc <> 0.
ENDIF.
READ TABLE I_HEADER INDEX 1.
ls_controL-no_dialog = 'X'.
if sy-ucomm = 'VIEW'.
LS_CONTROL-PREVIEW = 'X'.
endif.
CALL FUNCTION LF_FM_NAME
EXPORTING
control_parameters = ls_control
OUTPUT_OPTIONS = OUTPUT_OPTIONS
SO_VBELN = I_HEADER-VBELN
SO_AUDAT = I_HEADER-AUDAT
SO_REPEAT = REPEAT
SO_TYPE = I_HEADER-VBTYP
SO_CADD = ADDCOMP
SO_CCODE = COMPCD
TABLES
I_HEADER = I_HEADER
TKOMV = TKOMV
I_ITEM = TVBDPA
I_XDATA = I_XDATA
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.
ENDFORM. "PRINT_DATA
FORM PROTOCOL_UPDATE *
The messages are collected for the processing protocol. *
FORM PROTOCOL_UPDATE.
CHECK XSCREEN = 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.
ENDFORM. "PROTOCOL_UPDATE
FORM SENDER *
This routine determines the address of the sender (Table VKO) *
FORM SENDER.
SELECT SINGLE * FROM TVKO WHERE VKORG = VBDKA-VKORG.
IF SY-SUBRC NE 0.
SYST-MSGID = 'VN'.
SYST-MSGNO = '203'.
SYST-MSGTY = 'E'.
SYST-MSGV1 = 'TVKO'.
SYST-MSGV2 = SYST-SUBRC.
PERFORM PROTOCOL_UPDATE.
EXIT.
ENDIF.
CLEAR GV_FB_ADDR_GET_SELECTION.
GV_FB_ADDR_GET_SELECTION-ADDRNUMBER = TVKO-ADRNR. "SADR40A
CALL FUNCTION 'ADDR_GET'
EXPORTING
ADDRESS_SELECTION = GV_FB_ADDR_GET_SELECTION
ADDRESS_GROUP = 'CA01'
IMPORTING
SADR = SADR
EXCEPTIONS
OTHERS = 01.
IF SY-SUBRC NE 0.
CLEAR SADR.
ENDIF. "SADR40A
VBDKA-SLAND = SADR-LAND1.
IF SY-SUBRC NE 0.
SYST-MSGID = 'VN'.
SYST-MSGNO = '203'.
SYST-MSGTY = 'E'.
SYST-MSGV1 = 'SADR'.
SYST-MSGV2 = SYST-SUBRC.
PERFORM PROTOCOL_UPDATE.
ENDIF.
SELECT SINGLE * FROM TVBUR WHERE VKBUR = VBDKA-VKBUR.
IF SY-SUBRC NE 0.
SYST-MSGID = 'VN'.
SYST-MSGNO = '203'.
SYST-MSGTY = 'E'.
SYST-MSGV1 = 'TVBUR'.
SYST-MSGV2 = SYST-SUBRC.
PERFORM PROTOCOL_UPDATE.
ENDIF.
ENDFORM. "SENDER
*& Form GET_ITEM_SERIALS
This routine give back the serialnumbers of salesdocument *
position. The numbers are processed as print-lines in the *
table KOMSER_PRINT. *
--> US_VBELN Salesdocument
--> US_POSNR Position of the salesdocument
FORM GET_ITEM_SERIALS.
DATA: KEY_DATA LIKE RSEROB,
SERNOS LIKE RSEROB OCCURS 0 WITH HEADER LINE.
KEY_DATA-TASER = 'SER02'.
KEY_DATA-SDAUFNR = VBDKA-VBELN.
KEY_DATA-POSNR = VBDPA-POSNR.
IF KEY_DATA-SDAUFNR IS INITIAL AND NOT
KEY_DATA-POSNR IS INITIAL.
beim Anlegen ist Belegnummer leer - deshalb Dummy-Belegnummer
KEY_DATA-SDAUFNR = CHAR$.
ENDIF.
Read the Serialnumbers of a Position.
REFRESH: TKOMSER,
TKOMSER_PRINT.
CALL FUNCTION 'GET_SERNOS_OF_DOCUMENT'
EXPORTING
KEY_DATA = KEY_DATA
TABLES
SERNOS = SERNOS
EXCEPTIONS
KEY_PARAMETER_ERROR = 1
NO_SUPPORTED_ACCESS = 2
NO_DATA_FOUND = 3
OTHERS = 4.
IF SY-SUBRC NE 0 AND
SY-SUBRC NE 3.
PERFORM PROTOCOL_UPDATE.
ENDIF.
CHECK SY-SUBRC EQ 0.
Serialnummern übergeben
TKOMSER-VBELN = SERNOS-SDAUFNR.
TKOMSER-POSNR = SERNOS-POSNR.
LOOP AT SERNOS.
TKOMSER-SERNR = SERNOS-SERNR.
APPEND TKOMSER.
ENDLOOP.
Process the stringtable for Printing.
CALL FUNCTION 'PROCESS_SERIALS_FOR_PRINT'
EXPORTING
I_BOUNDARY_LEFT = '(_'
I_BOUNDARY_RIGHT = '_)'
I_SEP_CHAR_STRINGS = ',_'
I_SEP_CHAR_INTERVAL = '_-_'
I_USE_INTERVAL = 'X'
I_BOUNDARY_METHOD = 'C'
I_LINE_LENGTH = 50
I_NO_ZERO = 'X'
I_ALPHABET = SY-ABCDE
I_DIGITS = '0123456789'
I_SPECIAL_CHARS = '-'
I_WITH_SECOND_DIGIT = ' '
TABLES
SERIALS = TKOMSER
SERIALS_PRINT = TKOMSER_PRINT
EXCEPTIONS
BOUNDARY_MISSING = 01
INTERVAL_SEPARATION_MISSING = 02
LENGTH_TO_SMALL = 03
INTERNAL_ERROR = 04
WRONG_METHOD = 05
WRONG_SERIAL = 06
TWO_EQUAL_SERIALS = 07
SERIAL_WITH_WRONG_CHAR = 08
SERIAL_SEPARATION_MISSING = 09.
IF SY-SUBRC NE 0.
PERFORM PROTOCOL_UPDATE.
ENDIF.
ENDFORM. " GET_ITEM_SERIALS
*eject
*& Form GET_CONTROLL_DATA
Checks if servicedata for the header exists. *
Checks if servicedata for the position exists. *
Checks if noticedata for the header exists. *
Checks if noticedata for the position exists. *
FORM GET_CONTROLL_DATA.
DATA: LINES TYPE I.
Exists servicedata for the header?
DESCRIBE TABLE TKOMSERVH LINES LINES.
IF LINES GT 0.
STEU-VDKEX = 'X'.
ENDIF.
Exists servicedata for the position?
DESCRIBE TABLE TKOMSERVP LINES LINES.
IF LINES GT 0.
STEU-VDPEX = 'X'.
ENDIF.
Exists noticedata for the header?
DESCRIBE TABLE TKOMSERVHN LINES LINES.
IF LINES GT 0.
STEU-KBKEX = 'X'.
ENDIF.
Exists noticedata for the position?
DESCRIBE TABLE TKOMSERVPN LINES LINES.
IF LINES GT 0.
STEU-KBPEX = 'X'.
ENDIF.
ENDFORM. " GET_CONTROLL_DATA
*eject
*& Form get_fax_land
text
-->P_NAST_TLAND text
form get_fax_land using p_nast_land like nast-tland.
DATA L_land like nast-tland .
clear L_land.
IF NOT addr_key-addrnumber IS INITIAL.
CALL FUNCTION 'WFMC_FAXNUMBER_FOR_ADDRESS'
EXPORTING
adrnr = addr_key-addrnumber
IMPORTING
tland = L_land
EXCEPTIONS
addr_not_exist = 1
OTHERS = 2.
IF sy-subrc = 0 AND NOT L_land IS INITIAL.
p_nast_land = L_land.
ENDIF.
ENDIF.
endform. " get_fax_land
*& Form get_data1
text
-->P_LS_PRINT_DATA_TO_READ text
<--P_LS_ADDR_KEY text
<--P_LS_DLV_LAND text
<--P_LS_BIL_INVOICE text
<--P_CF_RETCODE text
FORM get_data1
USING IS_PRINT_DATA_TO_READ TYPE LBBIL_PRINT_DATA_TO_READ
CHANGING CS_ADDR_KEY LIKE ADDR_KEY
CS_DLV-LAND LIKE VBRK-LAND1
CS_BIL_INVOICE TYPE LBBIL_INVOICE
CF_RETCODE.
IF NAST-OBJKY+10 NE SPACE.
NAST-OBJKY = NAST-OBJKY+16(10).
ELSE.
NAST-OBJKY = NAST-OBJKY.
ENDIF.
read print data
CALL FUNCTION 'LB_BIL_INV_OUTP_READ_PRTDATA'
EXPORTING
IF_BIL_NUMBER = NAST-OBJKY
IF_PARVW = NAST-PARVW
IF_PARNR = NAST-PARNR
IF_LANGUAGE = NAST-SPRAS
IS_PRINT_DATA_TO_READ = IS_PRINT_DATA_TO_READ
IMPORTING
ES_BIL_INVOICE = CS_BIL_INVOICE
EXCEPTIONS
RECORDS_NOT_FOUND = 1
RECORDS_NOT_REQUESTED = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
error handling
CF_RETCODE = SY-SUBRC.
PERFORM PROTOCOL_UPDATE.
ENDIF.
get nast partner adress for communication strategy
PERFORM GET_ADDR_KEY USING CS_BIL_INVOICE-HD_ADR
CHANGING CS_ADDR_KEY.
get delivery land
PERFORM GET_DLV-LAND USING CS_BIL_INVOICE-HD_GEN
CHANGING CS_DLV-LAND.
ENDFORM. " get_data1
*& Form GET_ADDR_KEY
text
-->P_CS_BIL_INVOICE_HD_ADR text
<--P_CS_ADDR_KEY text
FORM GET_ADDR_KEY USING IT_HD_ADR TYPE LBBIL_INVOICE-HD_ADR
CHANGING CS_ADDR_KEY LIKE ADDR_KEY.
FIELD-SYMBOLS -ADDRESS_TYPE.
ENDIF.
ENDFORM. " GET_ADDR_KEY
*& Form GET_DLV-LAND
text
-->P_CS_BIL_INVOICE_HD_GEN text
<--P_CS_DLV_LAND text
FORM GET_DLV-LAND USING IT_HD_GEN TYPE LBBIL_INVOICE-HD_GEN
CHANGING CS_DLV-LAND LIKE VBRK-LAND1.
CS_DLV-LAND = IT_HD_GEN-DLV_LAND.
ENDFORM. " GET_DLV-LAND
*& Form set_print_data_to_read
text
-->P_LF_FORMNAME text
<--P_LS_PRINT_DATA_TO_READ text
<--P_CF_RETCODE text
FORM set_print_data_to_read USING IF_FORMNAME LIKE TNAPR-SFORM
CHANGING CS_PRINT_DATA_TO_READ TYPE LBBIL_PRINT_DATA_TO_READ
CF_RETCODE.
FIELD-SYMBOLS: TYPE XFELD.
DATA: LT_FIELDLIST TYPE TSFFIELDS.
set print data requirements
DO.
ASSIGN COMPONENT SY-INDEX OF STRUCTURE
CS_PRINT_DATA_TO_READ TO = 'X'.
ENDDO.
CALL FUNCTION 'SSF_FIELD_LIST'
EXPORTING
FORMNAME = IF_FORMNAME
VARIANT = ' '
IMPORTING
FIELDLIST = LT_FIELDLIST
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
error handling
CF_RETCODE = SY-SUBRC.
PERFORM PROTOCOL_UPDATE.
ENDIF.
ENDFORM. " set_print_data_to_read
*& Form set_print_param
text
-->P_LS_ADDR_KEY text
-->P_LS_DLV_LAND text
<--P_LS_CONTROL_PARAM text
<--P_LS_COMPOSER_PARAM text
<--P_LS_RECIPIENT text
<--P_LS_SENDER text
<--P_CF_RETCODE text
FORM set_print_param using IS_ADDR_KEY LIKE ADDR_KEY
IS_DLV-LAND LIKE VBRK-LAND1
CHANGING CS_CONTROL_PARAM TYPE SSFCTRLOP
CS_COMPOSER_PARAM TYPE SSFCOMPOP
CS_RECIPIENT TYPE SWOTOBJID
CS_SENDER TYPE SWOTOBJID
CF_RETCODE TYPE SY-SUBRC.
DATA: LS_ITCPO TYPE ITCPO.
DATA: LF_REPID TYPE SY-REPID.
DATA: LF_DEVICE TYPE TDDEVICE.
DATA: LS_RECIPIENT TYPE SWOTOBJID.
DATA: LS_SENDER TYPE SWOTOBJID.
LF_REPID = SY-REPID.
CALL FUNCTION 'WFMC_PREPARE_SMART_FORM'
EXPORTING
PI_NAST = NAST
PI_COUNTRY = IS_DLV-LAND
PI_ADDR_KEY = IS_ADDR_KEY
PI_REPID = LF_REPID
PI_SCREEN = XSCREEN
IMPORTING
PE_RETURNCODE = CF_RETCODE
PE_ITCPO = LS_ITCPO
PE_DEVICE = LF_DEVICE
PE_RECIPIENT = CS_RECIPIENT
PE_SENDER = CS_SENDER.
IF CF_RETCODE = 0.
MOVE-CORRESPONDING LS_ITCPO TO CS_COMPOSER_PARAM.
CS_CONTROL_PARAM-NO_OPEN
CS_CONTROL_PARAM-NO_CLOSE
CS_CONTROL_PARAM-DEVICE = LF_DEVICE.
CS_CONTROL_PARAM-NO_DIALOG = 'X'.
CS_CONTROL_PARAM-PREVIEW = XSCREEN.
CS_CONTROL_PARAM-GETOTF = LS_ITCPO-TDGETOTF.
CS_CONTROL_PARAM-LANGU = NAST-SPRAS.
CS_CONTROL_PARAM-REPLANGU1
CS_CONTROL_PARAM-REPLANGU2
CS_CONTROL_PARAM-REPLANGU3
CS_CONTROL_PARAM-STARTPAGE
ENDIF.
ENDFORM. " set_print_param
*& Form add_smfrm_prot
text
--> p1 text
<-- p2 text
FORM add_smfrm_prot .
DATA: LT_ERRORTAB TYPE TSFERROR.
DATA: LF_MSGNR TYPE SY-MSGNO.
FIELD-SYMBOLS: TYPE LINE OF TSFERROR.
get smart form protocoll
CALL FUNCTION 'SSF_READ_ERRORS'
IMPORTING
ERRORTAB = LT_ERRORTAB.
add smartform protocoll to nast protocoll
LOOP AT LT_ERRORTAB ASSIGNING .
CLEAR LF_MSGNR.
LF_MSGNR = <FS_ERRORTAB>-ERRNUMBER.
CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
EXPORTING
MSG_ARBGB = -MSGID
MSG_NR = LF_MSGNR
MSG_NR = -MSGV4
EXCEPTIONS
OTHERS = 1.
ENDLOOP.
ENDFORM. " add_smfrm_prot
*& Form protocol_update_spool
text
-->P_1115 text
-->P_LS_SPOOLID text
-->P_SPACE text
-->P_SPACE text
-->P_SPACE text
FORM protocol_update_spool USING SYST_MSGNO
P_LS_SPOOLID
P_SPACE1
P_SPACE2
P_SPACE3.
syst-msgid = 'VN'.
syst-msgno = syst_msgno.
syst-msgv1 = p_ls_spoolid.
CONDENSE syst-msgv1.
CHECK xscreen = 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 = p_space1
msg_v3 = p_space2
msg_v4 = p_space3
EXCEPTIONS
OTHERS = 1.
ENDFORM. " protocol_update_spool
This is Include ZSDI0003
*& Include ZSDI0003
TABLES: 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
VBAK, "Sales Document Header
VBAP, "Sales Document Item
VBPA, "Sales Document: Partner
T001, "Company codes
MAST, "Material to BOM Link
STKO. "BOM Header
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,
1) you shouldn't have to do anything with the properties file written for a specific Locale.
2) check this out: http://java.sun.com/j2se/1.4/docs/guide/intl/encoding.doc.html
3) BIG5 is BIG5 everywhere.
4) don't know about this one
5,6,7) If you have Windows 98 Chinese Edition, you can probably switch back and forth between English and Chinese -- just put the Chinese characters in a string much like the normal characters. Otherwise, you'll have to enter the Unicode char.
V.V. -
Hi Friends,
I am working on a smartform. This is a modification to the existing form. In the Smartform i have 3 pages. For page2, there are 3 scenarios. There is a custom table (Say gt_customtable). It contains Document ID field (DOCID), and for each document id, it has a indicator field (Say indicator = E / S). E = Emergency order, and S = Stock order.
When the indicator is E for the docid's, then Scenario 1 should be printed, that is Emergency layout should be printed.
When the indicator is S for the docid's, then Scenario 2 should be printed, that is Stock layout should be printed.
When the indicator is both E & S, then Scenario 3 should be printed, that is Emergency layout should be printed first, and then Stock layout should be printed.
There is an internal table called gt_page2, which has both the Header data, and Line items data.
The header data is same for all the scenarios, and need not be changed. But coming to the Line items data, emergency layout is different from stock layout.
How do i approach this situation. Can you please help me out here.
Thanks,
NikhilHi Suneel,
Thank you very much for replying. Actually Page3 has nothing to do with page2 here. The Issue is Page2 has 3 scenarios. The layout for each of 3 scenarios is different. Indicator is E for Page2-scenario 1 layout, and S for Page2-scenario 2 layout. But when the indicator is both E, and S....then Scenario1 is printed first, then scenario 2.
Do we need to create 2 tables, one for each scenario, each with different layout. Or create a flag, and depending on this flag, can we play with text elements in the layout by giving them in the conditions tab.
Thanks,
Nikhil
Maybe you are looking for
-
Iphone 5 battery draining fast
My 22 month old iPhone 5 has suddenly started draining its battery really fast. It loses 70% in 3-4 hours. Nothing has changed in my usage and I haven't upgraded to IOS 7 or 8. My serial number doesn't seem to qualify for the replacement scheme for
-
Pretty much what my subject line says. My client wants example text in the fields of a PDF form that will disappear when the cursor enters the field. When I try this with show/hide layers, the layer becomes visible as soon as I enter form editing mod
-
Why does Raw image open in PSE 11 Editor as jpeg instead of as RAW image?
For several years I have been managing my photos in iphoto and using PSE as an external editor for editing images. I currently use PSE 11 on an iMac with OS X Lion (version 10.7.5). My iPhoto Library is divided into a number of sub-libraries via iPho
-
Document management requirement
Hi, We need to provide document management feature in SAP enterprise portal. The requirements are users should be able to create folders, rename folders, delete folders, create, upload, delete documents such as word, pdf, excel etc. Also we would wan
-
How does iphoto order events?
How does iphoto arrange events for display purposes? It isn't alphabetically by title, it isn't chronologically by event creation date. I am baffled. If I know how they are ordered, I can move photos among events easier by renaming the events so they