How can we make language translation in sap script?
Hi expert,
Based on language i have to display text in sap script form.
please i like to know how to maintain language translation in sap script.
manually i am handling the language text in print program.
like below.
if language = 'EN'
text in english.
endif.
if language = 'DE'
text in German.
endif.
good points will be given for proper answer.
Thanks and regards,
Pavan.
Hello there!
If those texts are static, you can use the following procedure (to translate your text elements):
Go to SE63, then in the menu follow this path:
Translation->ABAP Objects->Other Long Texts->FS (forms and styles)->FORM (Forms)
This will transport you for a screen where you can choose the script (Object -> field Object Name). Press Enter. If says object not found, it's because the source language is wrong (box below named translation -> field source language --- press F4 to change it)
After this, you'll navigate (after pressing Enter with correct language in source and choosing a correct one in target) to the transaltion screen. You'll have you text elements, original on top, your transalation below.
If those texts are dynamic, I believe you have to do the way you are doing.
Hope this helps.
Similar Messages
-
How can we make function calls to sap in odi ?
how can we make function calls to sap in odi ?
to populate a column i need to make a function call which returns the value.There are two ODI SAP adapters available that allows extraction from SAP ERP and SAP BW. For SAP ERP we allow extraction from ERP tables, but not from RFCs/BAPIs.
You can find details on them at
http://www.oracle.com/technetwork/middleware/data-integrator/overview/odigs-sapabap-168070.pdf
http://www.oracle.com/technetwork/middleware/data-integrator/overview/odigs-sapabapbw-168071.pdf -
How can i make entry in standard SAP table
hi all
how can i make entry in standard sap table.
ex- lfa1
without using programming,BDC.Hi,
in the table if u find delivery and maintainance allowed with restrictions in delivery /maintainance tab u can enter data from program only.
see the below example.
tables: lfa1.
lfa1-lifnr = '0878877'.
lfa1-name1 = 'my name'.
lfa1-ort01 = 'bangalore'.
lfa1-land1 = 'in'.
modify lfa1.
rgds,
bharat. -
How can I make the execution of my script faster
Hi everyone
How can I make the execution of my script faster, because it takes a lot of time to execute? The following is my script:
DECLARE
CURSOR C1 IS
SELECT A.ITEM_CODE,A.STORE_CODE,ST_UNIT,SA_UNIT,CART_QTY,QUANTITY_ON_HAND
FROM PROJ.IM_LOCATION A
WHERE A.ITEM_CODE BETWEEN :ITEM_FRM AND :ITEM_TO
AND A.STORE_CODE = :FRM_STORE
ORDER BY
A.STORE_CODE ;
CURSOR C2 IS
SELECT A.ITEM_CODE,A.STORE_CODE,ST_UNIT,SA_UNIT,CART_QTY,QUANTITY_ON_HAND
FROM PROJ.IM_LOCATION A
WHERE A.ITEM_CODE BETWEEN :ITEM_FRM AND :ITEM_TO
AND A.STORE_CODE = :FRM_STORE
ORDER BY
A.STORE_CODE ;
big_syb_qty_issue number(12,3);
small_syb_qty_issue number(12,3);
big_issue number(12,3);
small_issue number(12,3);
item_syb_code varchar2(30);
big_syb_qty_rec number(12,3);
small_syb_qty_rec number(12,3);
BI_SUPP_REC number(12,3);
SM_SUPP_REC number(12,3);
big_syb_qty_ADJ number(12,3);
small_syb_qty_ADJ number(12,3);
big_ADJ number(12,3);
small_ADJ number(12,3);
big_syb_qty_rec_iner number(12,3);
small_syb_qty_rec_iner number(12,3);
BI_INTER number(12,3);
SM_INTER number(12,3);
cl_big_qty number(12,3);
cl_small_qty number(12,3);
cl_big_qty1 number(12,3);
cl_small_qty1 number(12,3);
BIG_QTY_OPEN number(12,3);
SMALL_QTY_OPEN number(12,3);
BEGIN
IF ((:FRM_STORE IS NULL) OR (:ITEM_FRM IS NULL) OR (:ITEM_TO IS NULL) OR (:DATE_FRM IS NULL)) THEN
SHOW_MESSAGE('You Should Enter the Parameters Values Correctly Please try again !!!! ');
RAISE FORM_TRIGGER_FAILURE;
GO_FIELD('DATE_FRM');
END IF;
DELETE FROM STOCK_AT_DATE_REP2;
COMMIT;
cl_big_qty := 0;
cl_small_qty := 0;
-- MESSAGE('Please Wait The System Calculating The Transactions !!!');
SET_APPLICATION_PROPERTY(CURSOR_STYLE,'BUSY');
FOR R IN C1
LOOP
cl_big_qty := R.CART_QTY ;
cl_small_qty := R.QUANTITY_ON_HAND;
-- Transerfer Data 1
BEGIN
SELECT B.ITEM_CODE,SUM(NVL(CART_QTY,0)) ,SUM(NVL(ITEM_QUANTITY,0))
INTO item_syb_code,big_syb_qty_issue,small_syb_qty_issue
FROM IM_TRANS_ISSUE_HEADER A,IM_TRANS_ISSUE_DETAILS B
WHERE A.DOC_CODE = B.DOC_CODE
AND B.DEL_STORE = R.STORE_CODE
AND ITEM_CODE = R.ITEM_CODE
AND DOC_DATE > :DATE_TO
GROUP BY
B.ITEM_CODE;
-- SHOW_MESSAGE('ISSUED BIG'||' '||big_syb_qty_issue);
exception
when no_data_found then big_syb_qty_issue := 0;
small_syb_qty_issue := 0;
when others then MESSAGE(10,sqlerrm);
END ;
-- Goods Received Data From Supplier 1
BEGIN
SELECT B.ITEM_CODE,SUM(B.CART_QTY),SUM(ITEM_QUANTITY)
INTO item_syb_code,big_syb_qty_rec,small_syb_qty_rec
FROM IM_GOODS_RECIEVE_HEADER A,IM_GOODS_RECIEVE_DETAILS B
WHERE A.DOC_CODE = B.DOC_CODE
AND STORE_CODE = R.STORE_CODE
AND ITEM_CODE = R.ITEM_CODE
AND DOC_DATE > :DATE_TO
GROUP BY
B.ITEM_CODE;
-- SHOW_MESSAGE('RECEIVED FROM SUPPLIER BIG'||' '||big_syb_qty_rec);
exception
when no_data_found then big_syb_qty_rec := 0;
small_syb_qty_rec := 0;
when others then message(10,sqlerrm);
END ;
-- Adjustement Data 1
BEGIN
SELECT B.ITEM_CODE ,SUM(NVL(CART_QTY,0)) ADJUST_QTY,SUM(NVL(ITEM_QUANTITY,0))
INTO item_syb_code,big_syb_qty_ADJ,small_syb_qty_ADJ
FROM IM_ADJUST_HEADER A,IM_ADJUST_DETAILS B
WHERE A.DOC_CODE = B.DOC_CODE
AND B.STORE_CODE = R.STORE_CODE
AND ITEM_CODE = R.ITEM_CODE
AND A.DOC_DATE > :DATE_TO
GROUP BY
B.ITEM_CODE;
-- SHOW_MESSAGE('Adjust BIG'||' '||big_syb_qty_ADJ);
exception
when no_data_found then big_syb_qty_ADJ := 0;
small_syb_qty_ADJ := 0;
when others then message(10,sqlerrm);
END ;
-- Goods Received Data From Stores 1
BEGIN
SELECT B.ITEM_CODE,SUM(B.CART_QTY),SUM(ITEM_QUANTITY)
INTO item_syb_code,big_syb_qty_rec_iner,small_syb_qty_rec_iner
FROM IM_TRANS_REC_HEADER A,IM_TRANS_REC_DETAILS B
WHERE A.DOC_CODE = B.DOC_CODE
AND REC_STORE = R.STORE_CODE
AND ITEM_CODE = R.ITEM_CODE
AND DOC_DATE > :DATE_TO
GROUP BY
B.ITEM_CODE;
-- show_message('here');
-- SHOW_MESSAGE('Received From Stores BIG'||' '||big_syb_qty_rec_iner);
exception
when no_data_found then
big_syb_qty_rec_iner := 0;
small_syb_qty_rec_iner := 0;
when others then message(10,sqlerrm);
END ;
cl_big_qty := (NVL(cl_big_qty,0) + NVL(big_syb_qty_issue,0));
cl_big_qty := (NVL(cl_big_qty,0) - NVL(big_syb_qty_rec,0));
cl_big_qty := (NVL(cl_big_qty,0) - NVL(big_syb_qty_rec_iner,0));
big_syb_qty_ADJ := -1 * NVL(big_syb_qty_ADJ,0);
cl_big_qty := (NVL(cl_big_qty,0) + NVL(big_syb_qty_ADJ,0));
-- srw.message(2000,'cl_small_qty'||cl_small_qty);
cl_small_qty := (NVL(cl_small_qty,0) + NVL(small_syb_qty_issue,0));
cl_small_qty := (NVL(cl_small_qty,0) - NVL(small_syb_qty_rec,0));
cl_small_qty := (NVL(cl_small_qty,0) - NVL(small_syb_qty_rec_iner,0));
small_syb_qty_ADJ := -1 * NVL(small_syb_qty_ADJ,0);
cl_small_qty := (NVL(cl_small_qty,0) + NVL(small_syb_qty_ADJ,0));
-- srw.message(2000,'cl_small_qty'||cl_small_qty); srw.message(2000,'cl_small_qty'||cl_small_qty);
INSERT INTO STOCK_AT_DATE_REP2
VALUES(R.STORE_CODE,R.ITEM_CODE,cl_big_qty,cl_small_qty,R.ST_UNIT,R.SA_UNIT,:DATE_FRM,
:DATE_TO,0,0,0,0,0,0,0,0,cl_big_qty,cl_small_qty);
cl_big_qty := 0;
cl_small_qty := 0;
END LOOP;
COMMIT;
FOR R IN C2
LOOP
-- Transerfer Data 2
BEGIN
SELECT B.ITEM_CODE,SUM(NVL(CART_QTY,0)) ,SUM(NVL(ITEM_QUANTITY,0))
INTO item_syb_code,big_issue,small_issue
FROM IM_TRANS_ISSUE_HEADER A,IM_TRANS_ISSUE_DETAILS B
WHERE A.DOC_CODE = B.DOC_CODE
AND B.DEL_STORE = R.STORE_CODE
AND ITEM_CODE = R.ITEM_CODE
AND DOC_DATE BETWEEN :DATE_FRM AND :DATE_TO
GROUP BY
B.ITEM_CODE;
-- SHOW_MESSAGE('ISSUED BIG'||' '||big_syb_qty_issue);
exception
when no_data_found then
big_issue := 0;
small_issue := 0;
when others then MESSAGE(10,sqlerrm);
END ;
-- Goods Received Data From Supplier 2
BEGIN
SELECT B.ITEM_CODE,SUM(NVL(B.CART_QTY,0)),SUM(NVL(ITEM_QUANTITY,0))
INTO item_syb_code,BI_SUPP_REC,SM_SUPP_REC
FROM IM_GOODS_RECIEVE_HEADER A,IM_GOODS_RECIEVE_DETAILS B
WHERE A.DOC_CODE = B.DOC_CODE
AND STORE_CODE = R.STORE_CODE
AND ITEM_CODE = R.ITEM_CODE
AND DOC_DATE BETWEEN :DATE_FRM AND :DATE_TO
GROUP BY
B.ITEM_CODE;
-- SHOW_MESSAGE('1- SM_SUPP_REC '||' '||SM_SUPP_REC );
-- SHOW_MESSAGE('RECEIVED FROM SUPPLIER BIG'||' '||big_syb_qty_rec);
exception
when no_data_found then
BI_SUPP_REC := 0;
SM_SUPP_REC := 0;
when others then message(10,sqlerrm);
END ;
-- Adjustement Data 2
BEGIN
SELECT B.ITEM_CODE ,SUM(NVL(CART_QTY,0)) ADJUST_QTY,SUM(NVL(ITEM_QUANTITY,0))
INTO item_syb_code,big_ADJ,small_ADJ
FROM IM_ADJUST_HEADER A,IM_ADJUST_DETAILS B
WHERE A.DOC_CODE = B.DOC_CODE
AND B.STORE_CODE = R.STORE_CODE
AND ITEM_CODE = R.ITEM_CODE
AND A.DOC_DATE BETWEEN :DATE_FRM AND :DATE_TO
GROUP BY
B.ITEM_CODE;
-- SHOW_MESSAGE('Adjust BIG'||' '||big_syb_qty_ADJ);
exception
when no_data_found then
big_ADJ := 0;
small_ADJ := 0;
when others then message(10,sqlerrm);
END ;
-- Goods Received Data From Stores 2
BEGIN
SELECT B.ITEM_CODE,SUM(NVL(B.CART_QTY,0)),SUM(NVL(ITEM_QUANTITY,0))
INTO item_syb_code,BI_INTER,SM_INTER
FROM IM_TRANS_REC_HEADER A,IM_TRANS_REC_DETAILS B
WHERE A.DOC_CODE = B.DOC_CODE
AND REC_STORE = R.STORE_CODE
AND ITEM_CODE = R.ITEM_CODE
AND DOC_DATE BETWEEN :DATE_FRM AND :DATE_TO
GROUP BY
B.ITEM_CODE;
-- show_message('here');
-- SHOW_MESSAGE('Received From Stores BIG'||' '||big_syb_qty_rec_iner);
exception
when no_data_found then
BI_INTER := 0;
SM_INTER := 0;
when others then message(10,sqlerrm);
END ;
BEGIN
BIG_QTY_OPEN := 0;
SMALL_QTY_OPEN := 0;
BEGIN
SELECT NVL(S_BIG_QTY_OPEN,0) ,NVL(S_SMALL_QTY_OPEN,0)
INTO
BIG_QTY_OPEN,SMALL_QTY_OPEN
FROM STOCK_AT_DATE_REP2
WHERE S_STORE_CODE = R.STORE_CODE
AND S_ITEM_CODE = R.ITEM_CODE;
END;
BIG_QTY_OPEN := ((BIG_QTY_OPEN) + NVL(big_issue,0));
BIG_QTY_OPEN := ((BIG_QTY_OPEN) - NVL(BI_SUPP_REC,0));
big_adj := -1 * NVL(big_adj,0);
BIG_QTY_OPEN := ((BIG_QTY_OPEN) + NVL(big_adj,0));
BIG_QTY_OPEN := ((BIG_QTY_OPEN) - NVL(BI_INTER,0));
SMALL_QTY_OPEN := ((SMALL_QTY_OPEN) + NVL(SMALL_issue,0));
SMALL_QTY_OPEN := ((SMALL_QTY_OPEN) - NVL(SM_SUPP_REC ,0));
SMALL_adj := -1 * NVL(SMALL_adj,0);
SMALL_QTY_OPEN := ((SMALL_QTY_OPEN) + NVL(SMALL_adj,0));
SMALL_QTY_OPEN := ((SMALL_QTY_OPEN) - NVL(SM_INTER,0));
END;
BEGIN
UPDATE STOCK_AT_DATE_REP2
SET BIG_SUP_REC = BI_SUPP_REC,
SMALL_SUP_REC = SM_SUPP_REC,
BIG_ISSUE_TRAN = big_issue,
SMALL_ISSUE_TRAN = SMALL_issue,
BIG_ADJUST = big_adj,
SMALL_ADJUST = SMALL_adj,
BIG_INTER_REC = BI_INTER,
SMALL_INTER_REC = SM_INTER,
S_BIG_QTY_OPEN = BIG_QTY_OPEN,
S_SMALL_QTY_OPEN = SMALL_QTY_OPEN
WHERE S_STORE_CODE = R.STORE_CODE
AND S_ITEM_CODE = R.ITEM_CODE;
exception
when no_data_found then
NULL;
when others then
message(10,sqlerrm);
END;
END LOOP;
COMMIT;
SET_APPLICATION_PROPERTY(CURSOR_STYLE,'default');
SYNCHRONIZE;
-- SHOW_MESSAGE('The Data Have Been Calculated !!!');
END;
declare
pl_id ParamList;
APPLICATION_ID VARCHAR2(20):='PRD';
COMMAND_LINE VARCHAR2(100) :='STOCK_LEDGER';
BEGIN
pl_id := Get_Parameter_List('tmpdata');
IF NOT Id_Null(pl_id) THEN
Destroy_Parameter_List( pl_id );
END IF;
pl_id := Create_Parameter_List('tmpdata');
Add_Parameter(pl_id,'DATE_FRM',TEXT_PARAMETER,:DATE_FRM);
Add_Parameter(pl_id,'DATE_TO',TEXT_PARAMETER,:DATE_TO);
Add_Parameter(pl_id,'ITEM_FRM',TEXT_PARAMETER,:ITEM_FRM);
Add_Parameter(pl_id,'ITEM_TO',TEXT_PARAMETER,:ITEM_TO);
Add_Parameter(pl_id,'FRM_STORE',TEXT_PARAMETER,:FRM_STORE);
IF :REPORT_TYPE = 1 THEN
Run_Product(REPORTS,'C:\INV\RDF\STOCK_LEDGER.rdf',SYNCHRONOUS,RUNTIME,
FILESYSTEM, pl_id,NULL);
ELSIF :REPORT_TYPE = 2 THEN
Run_Product(REPORTS,'C:\INV\RDF\STOCK_LEDGER_2.rdf',SYNCHRONOUS,RUNTIME,
FILESYSTEM, pl_id,NULL);
END IF;
END;
Waiting for your valuable answer
Best Regards
Jamil AlshaibaniMake a matte in Photoshop.
From the Photoshop menu bar: File > New > Film & Video Presets. Choose one that suits your FCP project pixel dimensions. Make the background black. Place a white rectangle with rounded corners on top (the white will determine how much of your picture is visible). Flatten Image. Save as TIFF. Import into FCP.
Move your video clips up to V2. Place the imported TIFF on V1. Highlight all clips on V2.
Go to Modify > Composite Mode > Travel Matte Luma. Done.
If you want soft edges, no need for a matte. Double click your clip to place it in the Viewer. Open up the Motion tab > Crop > Edge Feather. Nice and quick. Copy and Paste attributes for the other clips. -
Language Translation for SAP Scripts
I was trying to translate the form (F150_DUNN_01) from language EN to ZH through SE63 transaction. But it is not working. Can anyone make it for me please.
Thank You.Instead of trying in se63 transaction try in Se71 by getting in to the form after converting into 'EN' language In the menupath utilities->convert original language.From there in TO ORIGINAL LANGUQAGE give 'ZH'.
Try it. -
How can I make a translation subtitle in iMovie '11?
I had this feature on my old laptop, with an old version of iMovie. A subtitle with two rows, same font, same size (with a black gradient background). It was perfect for subtitling translation.
But in iMovie 11 there are only titles with "Title text here" (big fonts) and "Subtitle text here" (smaller fonts).
And I would like to create a default. A solution that let's me change the font size every single time I drag a new title is not a solution.
I'd like to choose a default style for a project.
Is that possible somehow?Hi
No - this is very Manual and tedious work to do in iMovie.
FinalCut somewhat better ( at least all FinalCut prior to FinalCut Pro-X of which I have no know-how)
Yours Bengt W -
How can I make a survey in 2 different languages so I receive my results also in 1 report?
How can I make a survey in 2 different languages so I receive my results also in 1 report?
I am not sure what information to provide. Here is what I am trying to do. I am trying to create an HR questionnaire with multiple choice questions and several multiline textboxes to capture comments. I want to send it out by email address and/or embed the questionnaire somewhere on the company's intranet website. But we don't want the questionnaire to be anonymous. If someone makes a particular comment, we want to be able to communicate with the person who made that particular comment. How would we be able to trace the person? By email address, or by user ID?
-
How can i make my photoshop support arabic language
How can i make my photoshop support arabic language?
You can swtich your Mac to view in Arabic by going to the Language & Text system preferences and then dragging Arabic to the top of the list. If Arabic is not in the list, then click the "Edit List..." button to enable it.
This will make any program that is localized to Arabic appear in Arabic.
Next, go to the Region section of these preferences and choose the one that best suits your needs. If you click the Show all regions checkbox then you will have options in this menu to view all Arabic regions as a submenu.
Finally, go to the Input Sources section, where you can check various Arabic keyboard layouts to enable them. Then check the "Show Input menu in menu bar" option at the bottom of the window, which will place a small menu extra to the right of your system menu bar at the top of your screen.
In this menu, you can select the enabled Arabic layouts, to use them if and when needed. -
How to make language settings in sap crm
i want to make LANGUAGE settings in sap crm..for ex: my client want Hindi as
as a language in his dropdown list..pls let me know asap..
thanks and regards,
SAPCRMHi,
When you log into CRM system you have option of specifying the language.
But for the same, you need to consult SAP to get the language code and the text repository.
Install the language repository.
Please contact your Basis consultant for the same.
Best Regards,
Pratik Patel
<b>
Reward with Points!</b> -
How can I make the fusion between CRM and SD?
I´m working in a company in Spain and I want to know how can I make a fusion between CRM and SD? It is posible? The company whants to move all the information from CRM to SD and work in the future only with SD departament. So all the database needs to translate at SD and SD departament use and work with twice module in one module. I haven´t idea if I can make this fusion, so please help me!!!!!! Thank you so much!!!!
Hi
Can you please more specific on following points. That will help to give you more input from all SDN users perspective.
1. What are the scenarios currently been used in CRM?
2. What are all TRANSACTION TYPES are used in CRM system?
3. Any development is done in CRM system which is important from BUSINESS PROCESS perspective?
4. Is there any MASTER DATA used in CRM, which will then replicate to ECC and then used in ECC also?
5. Are the middleware settings are done in CRM?
6. Last but not the least why your organisation does not want to USE CRM, which is one of the BEST ERP Package provided by SAP.
Regards -
How can i make shorten systemlog files and joblog files on OS
Hello
How can i make shorten systemlog files and joblog files on OSHello Jan,
You can limit the size of system log.
The size of the application server's System Log is determined by the
following SAP profile parameters. Once the current System Log reaches
the maximum file size, it gets moved to the old_file and and a new
System Log file gets created. The number of past days messages in the
System Log depends on the amount/activity of System Log messages and the
max file size. Once messages get rolled off the current and old files,
they are no longer retrievable.
rslg/local/file /usr/sap/<SID>/D*/log/SLOG<SYSNO>
rslg/local/old_file /usr/sap/<SID>/D*/log/SLOGO<SYSNO>
rslg/max_diskspace/local 1000000
rslg/central/file /usr/sap/<SID>/SYS/global/SLOGJ
rslg/central/old_file /usr/sap/<SID>/SYS/global/SLOGJO
rslg/max_diskspace/central
Refer to http://help.sap.com/saphelp_nw70/helpdata/EN/c7/69bcbaf36611d3a6510000e835363f/content.htm
for explanation of profile parameters.you can reduce the size of system log using rslg/max_diskspace_local and rslg/max_diskspace_central
But you can't reduce the size of job log files on OS
Rohit -
How can I make invoice when down payment is bigger than item value ?
Dear all,
please, I need make invoice with bigger down payment than the item value.
How can I make invoice when down payment clearing value is bigger than the item value ?
When I do Release To Accounting, I have got a massage:
"Total of down payment to be billed too high. See billing document item XXXXX"
Please, how can I solve this problem?
Thank you
PeterHello,
I would like to underline that this is not a problem, but a standard, and in my opinion rightful behaviour of SAP: in a dowpayment process, when you create the invoice document, you should deduct only an amount less or equal to the invoice amount. And in the following invoices you will deduct the remaining downpayment amounts still open.
Also under al legal and fiscal point of view, I guess how would you print the invoice? With a minus value?
Best regards,
Andrea -
How can I send purchase order through SAP mail ?
How can I send purchase order through SAP mail ? Can any one explain whts the NACE settings?
just do it as <b>Anji reddy</b> said to you ...or else ... in the purchase order trascation ...print it ... so that it will generate the spool request for that purchase order ....
so the the belwo program is for sending <b>the Spool Request data as Email to any Email id ...</b>
The code below demonstrates how to retrieve a spool request and email it as a PDF document. Please note for the below program to process a spool request the program must be executed in background otherwise no spool request will be created. Once you have had a look at this there is an modified version of the program which works in both background and foreground. Also see transaction SCOT for SAPConnect administration.
*& Report ZSPOOLTOPDF *
*& Converts spool request into PDF document and emails it to *
*& recipicant. *
*& Execution *
*& This program must be run as a background job in-order for the write *
*& commands to create a Spool request rather than be displayed on *
*& screen *
REPORT zspooltopdf.
PARAMETER: p_email1 LIKE somlreci1-receiver
DEFAULT '[email protected]',
p_sender LIKE somlreci1-receiver
DEFAULT '[email protected]',
p_delspl AS CHECKBOX.
*DATA DECLARATION
DATA: gd_recsize TYPE i.
* Spool IDs
TYPES: BEGIN OF t_tbtcp.
INCLUDE STRUCTURE tbtcp.
TYPES: END OF t_tbtcp.
DATA: it_tbtcp TYPE STANDARD TABLE OF t_tbtcp INITIAL SIZE 0,
wa_tbtcp TYPE t_tbtcp.
* Job Runtime Parameters
DATA: gd_eventid LIKE tbtcm-eventid,
gd_eventparm LIKE tbtcm-eventparm,
gd_external_program_active LIKE tbtcm-xpgactive,
gd_jobcount LIKE tbtcm-jobcount,
gd_jobname LIKE tbtcm-jobname,
gd_stepcount LIKE tbtcm-stepcount,
gd_error TYPE sy-subrc,
gd_reciever TYPE sy-subrc.
DATA: w_recsize TYPE i.
DATA: gd_subject LIKE sodocchgi1-obj_descr,
it_mess_bod LIKE solisti1 OCCURS 0 WITH HEADER LINE,
it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,
gd_sender_type LIKE soextreci1-adr_typ,
gd_attachment_desc TYPE so_obj_nam,
gd_attachment_name TYPE so_obj_des.
* Spool to PDF conversions
DATA: gd_spool_nr LIKE tsp01-rqident,
gd_destination LIKE rlgrap-filename,
gd_bytecount LIKE tst01-dsize,
gd_buffer TYPE string.
* Binary store for PDF
DATA: BEGIN OF it_pdf_output OCCURS 0.
INCLUDE STRUCTURE tline.
DATA: END OF it_pdf_output.
CONSTANTS: c_dev LIKE sy-sysid VALUE 'DEV',
c_no(1) TYPE c VALUE ' ',
c_device(4) TYPE c VALUE 'LOCL'.
*START-OF-SELECTION.
START-OF-SELECTION.
* Write statement to represent report output. Spool request is created
* if write statement is executed in background. This could also be an
* ALV grid which would be converted to PDF without any extra effort
WRITE 'Hello World'.
new-page.
commit work.
new-page print off.
IF sy-batch EQ 'X'.
PERFORM get_job_details.
PERFORM obtain_spool_id.
*** Alternative way could be to submit another program and store spool
*** id into memory, will be stored in sy-spono.
*submit ZSPOOLTOPDF2
* to sap-spool
* spool parameters %_print
* archive parameters %_print
* without spool dynpro
* and return.
* Get spool id from program called above
* IMPORT w_spool_nr FROM MEMORY ID 'SPOOLTOPDF'.
PERFORM convert_spool_to_pdf.
PERFORM process_email.
if p_delspl EQ 'X'.
PERFORM delete_spool.
endif.
IF sy-sysid = c_dev.
wait up to 5 seconds.
SUBMIT rsconn01 WITH mode = 'INT'
WITH output = 'X'
AND RETURN.
ENDIF.
ELSE.
SKIP.
WRITE:/ 'Program must be executed in background in-order for spool',
'request to be created.'.
ENDIF.
* FORM obtain_spool_id *
FORM obtain_spool_id.
CHECK NOT ( gd_jobname IS INITIAL ).
CHECK NOT ( gd_jobcount IS INITIAL ).
SELECT * FROM tbtcp
INTO TABLE it_tbtcp
WHERE jobname = gd_jobname
AND jobcount = gd_jobcount
AND stepcount = gd_stepcount
AND listident <> '0000000000'
ORDER BY jobname
jobcount
stepcount.
READ TABLE it_tbtcp INTO wa_tbtcp INDEX 1.
IF sy-subrc = 0.
message s004(zdd) with gd_spool_nr.
gd_spool_nr = wa_tbtcp-listident.
MESSAGE s004(zdd) WITH gd_spool_nr.
ELSE.
MESSAGE s005(zdd).
ENDIF.
ENDFORM.
* FORM get_job_details *
FORM get_job_details.
* Get current job details
CALL FUNCTION 'GET_JOB_RUNTIME_INFO'
IMPORTING
eventid = gd_eventid
eventparm = gd_eventparm
external_program_active = gd_external_program_active
jobcount = gd_jobcount
jobname = gd_jobname
stepcount = gd_stepcount
EXCEPTIONS
no_runtime_info = 1
OTHERS = 2.
ENDFORM.
* FORM convert_spool_to_pdf *
FORM convert_spool_to_pdf.
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
src_spoolid = gd_spool_nr
no_dialog = c_no
dst_device = c_device
IMPORTING
pdf_bytecount = gd_bytecount
TABLES
pdf = it_pdf_output
EXCEPTIONS
err_no_abap_spooljob = 1
err_no_spooljob = 2
err_no_permission = 3
err_conv_not_possible = 4
err_bad_destdevice = 5
user_cancelled = 6
err_spoolerror = 7
err_temseerror = 8
err_btcjob_open_failed = 9
err_btcjob_submit_failed = 10
err_btcjob_close_failed = 11
OTHERS = 12.
CHECK sy-subrc = 0.
* Transfer the 132-long strings to 255-long strings
LOOP AT it_pdf_output.
TRANSLATE it_pdf_output USING ' ~'.
CONCATENATE gd_buffer it_pdf_output INTO gd_buffer.
ENDLOOP.
TRANSLATE gd_buffer USING '~ '.
DO.
it_mess_att = gd_buffer.
APPEND it_mess_att.
SHIFT gd_buffer LEFT BY 255 PLACES.
IF gd_buffer IS INITIAL.
EXIT.
ENDIF.
ENDDO.
ENDFORM.
* FORM process_email *
FORM process_email.
DESCRIBE TABLE it_mess_att LINES gd_recsize.
CHECK gd_recsize > 0.
PERFORM send_email USING p_email1.
* perform send_email using p_email2.
ENDFORM.
* FORM send_email *
* --> p_email *
FORM send_email USING p_email.
CHECK NOT ( p_email IS INITIAL ).
REFRESH it_mess_bod.
* Default subject matter
gd_subject = 'Subject'.
gd_attachment_desc = 'Attachname'.
* CONCATENATE 'attach_name' ' ' INTO gd_attachment_name.
it_mess_bod = 'Message Body text, line 1'.
APPEND it_mess_bod.
it_mess_bod = 'Message Body text, line 2...'.
APPEND it_mess_bod.
* If no sender specified - default blank
IF p_sender EQ space.
gd_sender_type = space.
ELSE.
gd_sender_type = 'INT'.
ENDIF.
* Send file by email as .xls speadsheet
PERFORM send_file_as_email_attachment
tables it_mess_bod
it_mess_att
using p_email
'Example .xls documnet attachment'
'PDF'
gd_attachment_name
gd_attachment_desc
p_sender
gd_sender_type
changing gd_error
gd_reciever.
ENDFORM.
* FORM delete_spool *
FORM delete_spool.
DATA: ld_spool_nr TYPE tsp01_sp0r-rqid_char.
ld_spool_nr = gd_spool_nr.
CHECK p_delspl <> c_no.
CALL FUNCTION 'RSPO_R_RDELETE_SPOOLREQ'
EXPORTING
spoolid = ld_spool_nr.
ENDFORM.
*& Form SEND_FILE_AS_EMAIL_ATTACHMENT
* Send email
FORM send_file_as_email_attachment tables it_message
it_attach
using p_email
p_mtitle
p_format
p_filename
p_attdescription
p_sender_address
p_sender_addres_type
changing p_error
p_reciever.
DATA: ld_error TYPE sy-subrc,
ld_reciever TYPE sy-subrc,
ld_mtitle LIKE sodocchgi1-obj_descr,
ld_email LIKE somlreci1-receiver,
ld_format TYPE so_obj_tp ,
ld_attdescription TYPE so_obj_nam ,
ld_attfilename TYPE so_obj_des ,
ld_sender_address LIKE soextreci1-receiver,
ld_sender_address_type LIKE soextreci1-adr_typ,
ld_receiver LIKE sy-subrc.
data: t_packing_list like sopcklsti1 occurs 0 with header line,
t_contents like solisti1 occurs 0 with header line,
t_receivers like somlreci1 occurs 0 with header line,
t_attachment like solisti1 occurs 0 with header line,
t_object_header like solisti1 occurs 0 with header line,
w_cnt type i,
w_sent_all(1) type c,
w_doc_data like sodocchgi1.
ld_email = p_email.
ld_mtitle = p_mtitle.
ld_format = p_format.
ld_attdescription = p_attdescription.
ld_attfilename = p_filename.
ld_sender_address = p_sender_address.
ld_sender_address_type = p_sender_addres_type.
* Fill the document data.
w_doc_data-doc_size = 1.
* Populate the subject/generic message attributes
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = 'SAPRPT'.
w_doc_data-obj_descr = ld_mtitle .
w_doc_data-sensitivty = 'F'.
* Fill the document data and get size of attachment
CLEAR w_doc_data.
READ TABLE it_attach INDEX w_cnt.
w_doc_data-doc_size =
( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = 'SAPRPT'.
w_doc_data-obj_descr = ld_mtitle.
w_doc_data-sensitivty = 'F'.
CLEAR t_attachment.
REFRESH t_attachment.
t_attachment[] = it_attach[].
* Describe the body of the message
CLEAR t_packing_list.
REFRESH t_packing_list.
t_packing_list-transf_bin = space.
t_packing_list-head_start = 1.
t_packing_list-head_num = 0.
t_packing_list-body_start = 1.
DESCRIBE TABLE it_message LINES t_packing_list-body_num.
t_packing_list-doc_type = 'RAW'.
APPEND t_packing_list.
* Create attachment notification
t_packing_list-transf_bin = 'X'.
t_packing_list-head_start = 1.
t_packing_list-head_num = 1.
t_packing_list-body_start = 1.
DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
t_packing_list-doc_type = ld_format.
t_packing_list-obj_descr = ld_attdescription.
t_packing_list-obj_name = ld_attfilename.
t_packing_list-doc_size = t_packing_list-body_num * 255.
APPEND t_packing_list.
* Add the recipients email address
CLEAR t_receivers.
REFRESH t_receivers.
t_receivers-receiver = ld_email.
t_receivers-rec_type = 'U'.
t_receivers-com_type = 'INT'.
t_receivers-notif_del = 'X'.
t_receivers-notif_ndel = 'X'.
APPEND t_receivers.
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
document_data = w_doc_data
put_in_outbox = 'X'
sender_address = ld_sender_address
sender_address_type = ld_sender_address_type
commit_work = 'X'
IMPORTING
sent_to_all = w_sent_all
TABLES
packing_list = t_packing_list
contents_bin = t_attachment
contents_txt = it_message
receivers = t_receivers
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.
* Populate zerror return code
ld_error = sy-subrc.
* Populate zreceiver return code
LOOP AT t_receivers.
ld_receiver = t_receivers-retrn_code.
ENDLOOP.
ENDFORM.
Girish -
How can i make iphone mobile website, database in Sql Server 2005 ?
how can i make iphone mobile website, database in Sql Server 2005 ?
Thanks & Regards
Jamshed Ali
Email id: [email protected]You need to be a little clearer in what you're asking.
You can't make any web site in SQL Server - it's a database engine, not a website tool.
What you can do is create web sites that pull data from a back-end SQL Server, but the SQL server doesn't handle the client connection at all (that's handled by a web server such as Apache, IIS, or similar).
There are many ways to build such a site including .NET, PHP, Perl and more (although I don't know all the options for Windows servers because they're not as common outside of corporate/enterprise networks).
In either case, given your choice of development language (HTML, plus one of the PHP/Perl/.NET/etc. options), plus your database (SQL Server) plus your web server (IIS, Apache, etc.) you can make any web site you like (or, at least, you're capable of developing).
If you want to opimize that web site for iPhones then there are many references on how mobile browsing differs from the desktop. I'd recommend this book as a reference (and, yes, I understand the irony of linking to a paperback book for web design guidance ). Googling mobile web design (or iPhone web design) might yield more results. -
Hi Friends,
I am a kind of newbie in to this world of XI,
I have a quick question,Before stepping into the question please look in to my Existing process.
I have a J2EE product,
which needs the business data from differant versions of R/3 systems (for example 3.1,4.3,4.6c)
and some other systems as well(say people soft and few other legacy systems),
If I am asked to deploy my J2EE product at a ABC client site who has already the above environment(SAP and other systems),
The scenario would be :
1.Extracting the needed data from all the business environments of the client ABC(SAP 3.1,4.3,4.6c, People soft, Legacy)
2.Converting them in to the flat files and placing in FTP
3.Communicating thru my product to the FTP
4 Loading in to the database which is compatible with my product(say Oracle,SQL Server,DB2...etc)
Currently for Extracting the data from SAP Systems,
I am writing the ABAP programs to extract the data from the client systems,
which will create the needed flat files in FTP,
But In case of the extraction other than SAP systems,
Client ABC will be giving me the needed data from the other business systems in the required flat file format,
Step 4 will be handled by my J2EE product when all the needed filed are ready in the specified FTP location.
Now my question is,
How can I make use of Exchange Infrastructure process integration methodology in my current business process,
It would be great if some one can propose in enhancing the process by making use of XI,
Thanks in Advance,I look forward for a quick response.
Regards,
Sanjeev.Hi,
<i>I am looking for a way where I can directly write the logic with in XI for extracting the data from SAP and other systems and moving in to my oracle database,</i>
>>>Think XI is an EAI tool. So you need to write a logic in the SAP systems to push the data into XI. Or even you can make XI to poll the data from SAP.
<i>Here the senders should be as
Sender 1:SAP3.1
Sender 2:SAP4.3
sender 3:SAP4.6
Sender 4:People soft
sender 5:Legacy1
sender 6:legacy2
Reciever should be a single Oracle Database on which my j2ee product will be sitting.</i>
Ideally you can have 3 entries for all 3 SAP systems in SLD.
For PeopleSoft system,Legacy1,Legacy2 different SLD entries.. SO it is something like you need to have Business system for each Systems.
Then I suggest, you have already ABAP programs in place, you can use this and you can call proxy from these programs. So that you can avoid doing some of the developments. But inorder to process on Proxy you need to have SAP WAS6.40 and above or SAP WAS 6.20 with add-ins.
If this is not feasible then you need to eithe go with Idoc/RFC sturctures from the R/3 sides.
http://help.sap.com/saphelp_nw2004s/helpdata/en/02/265c3cf311070ae10000000a114084/frameset.htm
First try to lay out the system landscape design with message exchange format etc.
Then it is possible to do the design easily.
For e.g from Peoplesoft you will get the data in file format. That time you can go with File->XI->Data Base scenario.
Hope this helps,
Regards,
Moorthy
Maybe you are looking for
-
Hi folks, I have delete program to delete entries from a custom table and has only one feld in it. tables: ZABC selection-screen begin of block B1 with frame title text-110. select-options: P_KOSTL for ZABC-KOSTL. selection-screen end of block B1. de
-
Image in a JTable (2)
Thanks for the code, it does compile but it does not display the image. Maybe if you give a look at the whole code it will be easier. You said to use MyTableRenderer() but maybe you meant MyCellRenderer(). What do you think ? import java.awt.*; impor
-
I have a 3 year old MSI K92VM with an AMD Phenom II x4 945 processor. Whenever doing photo edits or even lengthy photo brousing my computer will spontaneously shut down as if someone pulled the line cord. This problem started several months ago. R
-
After i have installed motion and try to open it, it says has encounterd an unxepected error and must close, re-open, try again. Help!
-
Warnings with objective C protocols
I can't work out how to post code here without the formatting going all screwy, so here's an English description. I have a formal protocol declaring "MyFunction". I have a class heirarchy, and an object which is an instance of something in that heira