Nast table and spras language in it
hi
i want to know how the data in nast table is populated
as i have a bwlow code
LANGUAGE = NAST-SPRAS.
SHIPMENT_NUM = NAST-OBJKY.
CALL FUNCTION 'RV_SHIPMENT_PRINT_VIEW'
now the problme is that the language as cming from n ast spras is 1 but it should be EN i want to know how the data is populated in this nast table and what does the above code signefies......
LANGUAGE = NAST-SPRAS.
SHIPMENT_NUM = NAST-OBJKY.
how the data in nast-spras is poplulated and wht is nast-objky and how data is populated in it
and is it possible to change data for this specific case ie nast-spras to en i want to hard code...
regards
Arora
Hi,
For language, which is in most tables 1 char instead of 2, there are 2 conversion routines which you can use in your code:
CONVERSION_EXIT_ISOLA_INPUT Convert two-digit ISO language -> one-digit SAP language key
CONVERSION_EXIT_ISOLA_OUTPUT Convert One-digit SAP Lang. Key to Two-digit ISO Lang. Key
You can also check table T002 which contains for SPRAS (1 char) the 2 char code in field LAISO. The 2 char field is used mostly for display purposes. For example, EN is stored as E, but EN is nicer to display.
Please reward points if usefull.
Regards,
Bart
Similar Messages
-
RSNAST00 program and NAST table.
Can anybody tell what is the relation between
RSNAST00 program and
NAST Table ?
1). Actually, it seems RSNAST00 program first check the Object key entries in NAST table ...if it does not find the exact entry in NAST table, then RSNAST00 program creates one entry in NAST tables and generated spool...
Please validate me ...Hi Sam,
The ABAP Program RSNAST00 is the standard ABAP, which is used to collect unprocessed NAST message and to execute the assigned action.
RSNAST00 can be executed as a collector batch run,that eventually looks for unprocessed IDocs. The usual way of doing that is to define a batch-run job with
transaction SM37. This job has to be set for periodic processing and start a program that triggers the IDoc re-sending.
Regards,
Chandra Sekhar -
RSNAST00 - NAST table - NACE relation ...
Kindly let me know what actually RSNAST00 program does ?
1). Because we create quotations in va21 and
the same are processed by running RSNAST00 program as a first step.
2). and then we run our z-program, so that our z-program runs the above RSNAST00 program generated spools, and send then to printer, where printer is located in some other country.
In /nnace, our output type, script program and script form are configured in such a way when the output type is created and given to RSNAT00 program...then our z-program runs ...then automatically in Print program( for script form) gets printed to user in other country.
The problem is when in /nva22 the quotation is changed again
it is ready for printing ...And when we run RSNAST00 program, again the quotations already printed are again getting printed with their changes.
So, Can I control this in PRINT Program of script ?
like by selecting the same quotations from NAST table and if entry is there don't print ?
Kindly suggest me ...Hi Sam,
Please check this link
http://help.sap.com/saphelp_nw04/helpdata/EN/c8/19893143b111d1896f0000e8322d00/content.htm
http://help.sap.com/saphelp_dimp50/helpdata/EN/6a/c10412adb111d1b6120000e8a738dc/content.htm
Best regards,
raam -
What is the exact purpose of Transaction NACE and NAST Table?
Hi All,
What is the exact purpose of Transaction NACE and NAST Table?
Pls help me
Akshitha.Hi
When a Output type in an apllication doc is configured with a Medium, Partner, Lang and other communication paramters an entry is created in NAST table
so to trigger the output an entry in NAST is compulsory
Output is a link between the Driver Program and the Sapscript,
An output type summarizes messages of the same meaning. It contains parameters that are valid for all its assigned messages, for example appropriate partner functions.
Transmission medium is a medium which the layout will be come out, this may be printout, Fax or Mail
Check this link.
http://help.sap.com/saphelp_nw2004s/helpdata/en/c8/19884743b111d1896f0000e8322d00/content.htm
ex-how to config output type.
You will assign output types using Transaction NACE.
Do the follow steps to assign output type
1)Select Application Type V2 which will have description Shipping.
2)Click on Output types button.
3)Go to change mode by pressing Ctrl+F4.
4)Select one output type which already exists
5)Do Copy As(F6)
6)Give your output type against Output Type field.
7)Under General data Tab, Give Program and Form routine and Save the data.
i think it a work of functional guy but at senior level i think it is not a big deal for abaper.
Check the following documentation
In NACE t-codewe have the application for each one. based on the application output type can be defined, based on output type script and print progrma can be defined.
If suppose data can be read from EDI then we should go for condition records.
So whenever we execute the script first composer checks the output type and then execute the program. in program whenever opn form FM will be populate then script will open first. After that again program till another FM will populate if it then script will populate........like it is cycle proces. Composer does all these things and at last it will submit that output to spool.
Go to the Transaction NACE.
choose the related sub module.. like billing or shipping
doubel click on Output Types
Choose the Output Type for which whcih you wanted your script to trigger
Then select the Output Type and double click on Processing Routine
Then go to create new entries--> Select the Medium (1- print output), then enter your Script and Print Program detls --> Save and come out
Now go to the Transaction (for which you have created the output type)... Issue output--> Select the output type --> Print....
Device Types for SAP Output Devices (Detail Information)
Definition
The device type indicates the type of printer to be addressed. When you define an output device, choose the name of the device type that was defined in the SAP System for your printer model, such as Post2 for a PostScript printer. In the case of frontend printing under Microsoft Windows, you can also use the generic (device-independent) device type SWIN.
The system uses the information in the device type to convert a document from the internal SAP character representation (spool request in OTF or in text format) to a device-specific, print-ready data stream (output request). Since a device type specifies attributes that apply to all devices of a certain model, it can be shared among device definitions. For example, all devices in the SAP spool system that are compatible with Hewlett-Packard LaserJet IIID printers would use the HPLJIIID device type.
You should not confuse the device type with the printer driver. The device type is the total of all attributes of an output device that the SAP System must know to control the output device correctly, such as control commands for font selection, page size, character set selection, and so on. These attributes also include the printer driver that SAPscript/Smart Forms (the SAP form processor) should use for this printer. The SAPscript printer driver that is to be used for devices of this type for output formatting is therefore only an attribute that the device type specifies.
How do I choose the correct device type?
In most cases, the SAP System already provides the appropriate device type for the printer type for the printer model that you want to use.
These standard device types are completely defined and need no modification or extension before you use them in device definitions.
You can also download missing device types from the sapserv server. For a current list of the supported device types, see SAP Note 8928 in the SAP Service Marketplace.
Most printers can be controlled using a generic format, such as PostScript. They can be switched to a mode that is compatible with one of the standard printers for which an SAP device type is available. In this case, a supported model is emulated.
Almost all printers are delivered with Microsoft Windows printer drivers. The system can control these printers with the generic (device-independent) device type SWIN. The Microsoft Windows spool system then performs the processing of the print data.
If the specified device types are not available, and generic device types cannot be used, you must create your own device type or edit a copy of an existing device type. We recommend that only those with specialist knowledge of the SAP Spool System and printer driver code do this. For more information, see Defining a New Device Type .
Attributes of a Device Type
A device type is distinguished by the attributes listed below. If you change an existing device type or create a new device type, you must change at least some of these attributes.
Character set: A character set specifies the codes with which characters must be represented in the print-ready output stream (output request). This code replaces the generic SAP characters set that is used internally by the SAP spool system (spool request).
Printer driver: You can specify different printer drivers for printing SAPscript documents and ABAP lists.
Print controls: Print controls represent printer operations, such as boldface or changing the font size. These print control are replaced by printer-specific commands during the creation of the output request from a spool request.
Formats: Formats specify the format supported by the SAP system. The system differentiates between SAPScript formats (DINA4 and LETTER) and ABAP list formats (X_65_132 = 65 rows/132 columns).
Page format: A page format is the interface between a format and SAPscript. It specifies the paper dimensions with which SAPScript can calculate the row and column lengths.
Actions: Actions are output device-specific commands that are required for the implementation of a format. The action printer initialization, for example, can contain a printer command with which the number of rows on a page is defined. There is a set of actions for every format supported by a device type.
Reward points for useful Answers -
In se16, nast table is giving dump.
As a Developer what can I do for the below issue ?
In se16,
table name : Nast
When I tried to view all the entires in Nast table, I have got dump saying that
TSV_TNEW_PAGE_ALLOC_FAILED
and code is
564 try.
>>>>> SELECT * FROM NAST "client specified
566 APPENDING TABLE INAST
567 UP TO RSEUMOD-TBMAXSEL ROWS BYPASSING BUF
568 WHERE KAPPL IN I1
569 AND OBJKY IN I2
570 AND KSCHL IN I3
571 AND SPRAS IN I4
572 AND PARNR IN I5
573 AND PARVW IN I6
574 AND ERDAT IN I7
575 AND ERUHR IN I8
576 AND VSZTP IN I9
577 AND VSDAT IN I10
578 AND VSURA IN I11
579 AND DATVR IN I12
580 AND UHRVR IN I13
581 AND USNAM IN I14
582 AND VSTAT IN I15.
583
584 CATCH CX_SY_DYNAMIC_OSQL_SEMANTICS INTO xref.
Could you please suggest me how to justify this ?"
THANKS IN ADV.You are trying to view a large number of records and system is not able to allocate any new memory to store that records and dispaly on the screen. So, it gives you the short dump.
If you want all the entries, try to run it in Background. Instead of F8, press F9 and fill up the details in the popups to schedule a job.
Or, try to run SE16 for NAST with some restriction like: user or creation date etc
Regards,
Naimesh Patel -
Sale Order Item Level Text Field which table and field
Hi,
Thanks for your prompt reply and best solution.
Can you please tell me one more thing, in sale order at item level the TEXT Field maintaining by user at transaction level now they want that field in one of the report, so can you please tell what is the table and field where i will get this sale order item level text details.Hello,
is this going to work for item level text as well.
can you tell how to proceed with this functional module
or is there any other thing required.Please elaborate to
understand better way.
You can check out two table in respect to Sales TEXT i.e. STXH (STXD SAPscript text file header) and STXL(SAPscript text file lines).
The best approach of tracing out the Text in respect to Sales Order would be to use the Function module READ_TEXT and put this FM in SE37 and execute with the following parameter.
Client
Text ID of text to be read
Language of text to be read
Name of text to be read
Object of text to be read
Archive handle
Text catalog local
When you are essentially looking to read item level Text with respect to Sales Order then your Text OBject would be VBBP.
Regards,
Sarthak -
How to delete the entries from NAST table
Hi,
Please help me out by providing any function module that delete's the entries from hte NAST table.
Regards,
Kiran.LREPORT ZSCD_TEST13.
delete from nast where VSTAT = '1'.
=====
If you see the FM : NAST_DELETE_OBJECT, its only useful when NACHA = 7 (i.e. message transmission medium = Simple Mail)
For others its not useful.
We had similar issue few days back and after long RnD, we straightaway deleted the entries using the Zprogram.
regards,
Edited by: Pranu Pranu on Aug 19, 2008 1:42 PM -
How to read LONG RAW data from one table and insert into another table
Hello EVERYBODY
I have a table called sound with the following attributes. in the music attribute i have stored some messages in the different language like hindi, english etc. i want to concatinate all hindi messages and store in the another table with only one attribute of type LONG RAW.and this attribute is attached with the sound item.
when i click the play button of sound item the all the messages recorded in hindi will play one by one automatically. for that i'm doing the following.
i have written the following when button pressed trigger which will concatinate all the messages of any selected language from the sound table, and store in another table called temp.
and then sound will be played from the temp table.
declare
tmp sound.music%type;
temp1 sound.music%type;
item_id ITEM;
cursor c1
is select music
from sound
where lang=:LIST10;
begin
open c1;
loop
fetch c1 into tmp; //THIS LINE GENERATES THE ERROR
temp1:=temp1||tmp;
exit when c1%notfound;
end loop;
CLOSE C1;
insert into temp values(temp1);
item_id:=Find_Item('Music');
go_item('music');
play_sound(item_id);
end;
but when i'm clicking the button it generates the following error.
WHEN-BUTTON-PRESSED TRIGGER RAISED UNHANDLED EXCEPTION ORA-06502.
ORA-06502: PL/SQL: numeric or value error
SQL> desc sound;
Name Null? Type
SL_NO NUMBER(2)
MUSIC LONG RAW
LANG CHAR(10)
IF MY PROCESS TO SOLVE THE ABOVE PROBLEM IS OK THEN PLESE TELL ME THE SOLUTION FOR THE ERROR. OTHER WISE PLEASE SUGGEST ME,IF ANY OTHER WAY IS THERE TO SOLVE THE ABOVE PROBLEM.
THANKS IN ADVANCE.
D. PrasadYou can achieve this in many different ways, one is
1. Create another VO based on the EO which is based on the dest table.
2. At save, copy the contents of the source VO into the dest VO (see copy routine in dev guide).
3. commiting the transaction will push the data into the dest table on which the dest VO is based.
I understand that if we attach VO object instance to region/page, we only can pull and put data in to only one table.
if by table you mean a DB table, then no, you can have a VO based on multiple EOs which will do DMLs accordingly.Thanks
Tapash -
Proper use of a Lookup table and adaptations for NET
Hello,
I need to create a few lookup tables and I often see the following:
create table Languages
Id int identity not null primary key (Id),
Code nvarchar (4) not null,
Description nvarchar (120) not null,
create table Posts
Id int identity not null primary key (Id),
LanguageId int not null,
Title nvarchar (400) not null,
insert into Languages (Id, Code, Description)
values (1, "en", "English");
This way I am localizing Posts with language id ...
IMHO, this is not the best scheme for Languages table because in a Lookup table the PK should be meaningful, right?
So instead I would use the following:
create table Languages
Code nvarchar (4) not null primary key (Code),
Description nvarchar (120) not null,
create table Posts
Id int identity not null primary key (Id),
LanguageCode nvarchar (4) not null,
Title nvarchar (400) not null,
insert into Languages (Code, Description)
values ("en", "English");
The NET applications usually use language code so this way I can get a Post in English without using a Join.
And with this approach I am also maintaining the database data integrity ...
This could be applied to Genders table with codes "M", "F", countries table, transaction types table (should I?), ...
However I think it is common to use int as PK in lookup tables because it is easier to map to ENUMS.
And know it is even possible to map to Flag Enums so have a Many to Many relationship in an ENUM.
That helps in NET code but in fact has limitations. A Languages table could never be mapped to a FLags Enum ...
... An flags enum can't have more than 64 items (Int64) because the keys must be a power of two.
A SOLUTION
I decided to find an approach that enforces database data integrity and still makes possible to use enums so I tried:
create table Languages
Code nvarchar (4) not null primary key (Code),
Key int not null,
Description nvarchar (120) not null,
create table Posts
Id int identity not null primary key (Id),
LanguageCode nvarchar (4) not null,
Title nvarchar (400) not null,
insert into Languages (Code, Key, Description)
values ("en", 1, "English");
With this approach I have a meaningfully Language code, I avoid joins and I can create an enum by parsing the Key:
public enum LanguageEnum {
[Code("en")
English = 1
I can even preserve the code in an attribute. Or I can switch the code and description ...
What about Flag enums? Well, I will have not Flag enums but I can have List<LanguageEnum> ...
And when using List<LanguageEnum> I do not have the limitation of 64 items ...
To me all this makes sense but would I apply it to a Roles table, or a ProductsCategory table?
In my opinion I would apply only to tables that will rarely change over time ... So:
Languages, Countries, Genders, ... Any other example?
About the following I am not sure (They are intrinsic to the application):
PaymentsTypes, UserRoles
And to these I wouldn't apply (They can be managed by a CMS):
ProductsCategories, ProductsColors
What do you think about my approach for Lookup tables?
Thank You,
Miguel>>IMHO, this is not the best scheme for Languages table because in a Lookup table the PK should be meaningful, right?<<
Not necessarily. The choice to use, or not to use, a surrogate key in a table is a preference, not a rule. There are pros and cons to either method, but I tend to agree with you. When the values are set as programming terms, I usually use a textual value
for the key. But this is nothing to get hung up over.
Bear in mind however, that this:
create table Languages
Id int identity not
null primary key
(Id),
Code nvarchar (4)
not null, Description nvarchar
(120) not
null,
is not equivalent to
create table Languages
Code nvarchar (4)
not null primary
key (Code),
Description nvarchar (120)
not null,
The first table needs a UNIQUE constraint on Code to make these solutions semantically the same. The first table could have the value 'Klingon' in it 20 times while the second only once.
>>However I think it is common to use int as PK in lookup tables because it is easier to map to ENUMS.<<
This was going to be my next point. For that case, I would only change the first table to not have an identity assigned key value, as it would be easier to manage at the same time and manner as the enum.
>>. A Languages table could never be mapped to a FLags Enum ...<<
You could, but I would highly suggest to avoid any values encoded in a bitwise pattern in SQL as much as possible. Rule #1 (First Normal Form) is partially to have 1 value per column. It is how the optimizer thinks, and how it works best.
My rule of thumb for lookup (or I prefer the term "domain" tables, as really all tables are there to look up values :)), is all data should be self explanatory in the database, through data if at all possible. So if you have a color column,
and it contains the color "Vermillion", and all you will ever need is the name, and you feel like it is good enough to manage in the UI, then great. But bear in mind, the beauty of a table that is there for domain purposes, is that you can then store
the R, G, and B attributes of the vermillion color (254, 73, 2 respectively, based on
http://www.colorcombos.com/colors/FE4902) and you can then use that in coding. Alternate names for the color could be introduce, etc. And if UserRoles are 1, 2, 3, and 42 (I have seen worse), then
definitely add columns. I think you are basically on the right track.
Louis
Without good requirements, my advice is only guesses. Please don't hold it against me if my answer answers my interpretation of your questions. -
What are the tables and fields in fico & sd module
what are the tables and fields in fico & sd module
Hi,
<b> Sales and Distribution:</b>
Customers KNA1 General Data
KNB1 Customer Master Co. Code Data (payment method, reconciliation acct)
KNB4 Customer Payment History
KNB5 Customer Master Dunning info
KNBK Customer Master Bank Data
KNKA Customer Master Credit Mgmt.
KNKK Customer Master Credit Control Area Data (credit limits)
KNVV Sales Area Data (terms, order probability)
KNVI Customer Master Tax Indicator
KNVP Partner Function key
KNVD Output type
KNVS Customer Master Ship Data
KLPA Customer/Vendor Link
Sales Documents VBAKUK VBAK + VBUK
VBUK Header Status and Administrative Data
VBAK Sales Document Header Data
VBKD Sales Document Business Data
VBUP Item Status VBAP Sales Document Item Data
VBPA Partners
VBFA Document Flow
VBEP Sales Document Schedule Line
VBBE Sales Requirements: Individual Records
SD Delivery DocumeLIPS Delivery Document item data, includes referencing PO
LIKP Delivery Document Header data
Billing Document VBRK Billing Document Header
VBRP Billing Document Item
SD Shipping Unit VEKP Shipping Unit Item (Content)
VEPO Shipping Unit Header
<b>Financial Accounting</b>
FBAS Financial Accounting Basis
BKPF Accounting Document Header BUKRS / BELNR / GJAHR
BSEG Accounting Document Segment BUKRS / BELNR / GJAHR / BUZEI
BSIP Index for Vendor Validation of Double BUKRS / LIFNR / WAERS / BLDAT /
Documents XBLNR / WRBTR / BELNR / GJAHR / BUZEI
BVOR Inter Company Posting Procedure BVORG / BUKRS / GJAHR / BELNR
EBKPF Accounting Document Header (docs from GLSBK / BELNR / GJHAR / GLEBK
External Systems)
FRUN Run Date of a Program PRGID
KLPA Customer / Vendor Linking NKULI / NBUKR / NKOAR / PNTYP
/ VKULI / VBUKR / VKOAR
KNB4 Customer Payment History KUNNR / BUKRS
KNB5 Customer Master Dunning Data KUNNR / BUKRS / MABER
KNBK Customer Master Bank Details KUNNR / BANKS / BANKL / BANKN
KNC1 Customer Master Transaction Figures KUNNR / BUKRS / GJHAR
KNC3 Customer Master Special GL Transactions KUNNR / BUKRS / GJAHR / SHBKZ
Figures
LFB5 Vendor Master Dunning Data LIFNR / BUKRS / MABER
LFBK Vendor Master Bank Details LIFNR / BANKS / BANKL / BANKN
LFC1 Vendor Master Transaction Figures LIFNR / BUKRS / GJHAR
LFC3 Vendor Master Special GL Transactions LIFNR / BUKRS / GJHAR / SHBKZ
Figures
VBKPF Document Header for Document Parking AUSBK / BUKRS / BELNR / GJHAR
FBASCORE Financial Accounting General Services Basis
KNB1 Customer Master (Company Code) KUNNR / BUKRS
LFA1 Vendor Master (General Section) LIFNR
LFB1 Vendor Master (company Code Section) LIFNR / BUKRS
SKA1 G/L Account Master (Chart of Accounts) KTOPL / SAKNR
SKAT G/L Account Master (Chart of Accounts SPRAS / KTOPL / SAKNR
Description)
MAHNS Accounts Blocked by Dunning Selection KOART / BUKRS / KONKO / MABER
MHNK Dunning Data (Account Entries) LAUFD / LAUFI / KOART / BUKRS /
KUNNR / LIFNR / CPDKY / SKNRZE /
SMABER / SMAHSK / BUSAB
FI-GL-GL (FBS) General Ledger Accounting: Basic Functions- G/L Accounts
SKAS G/L Account Master (Chart of Accounts SPRAS / KTOPL / SAKNR / SCHLW
Key Word list)
SKB1 G/L Account Master (Company Code) BUKRS / SAKNR
FI-GL-GL (FBSC) General Ledger Accounting: Basic
Functions - R/3 Customizing for G/L Accounts
FIGLREP Settings for G/L Posting Reports MANDT
TSAKR Create G/L account with reference BUKRS / SAKNR
FI-GL-GL (FFE) General Ledger Accounting: Basic
Functions - Fast Data Entry
KOMU Account Assignment Templates for G/L KMNAM / KMZEI
Account items
FI-AR-AR (FBD) Accounts Receivable: Basic Functions - Customers
KNKA Customer Master Credit Management : KUNNR
Central Data
KNKK Customer Master Credit Management : KUNNR / KKBER
Control Area Data
KNKKF1 Credit Management : FI Status data LOGSYS / KUNNR / KKBER / REGUL
RFRR Accounting Data A/R and A/P RELID / SRTFD / SRTF2
Information System
FI-BL-PT Bank Accounting: Payment (BFIBL_CHECK_D) Transactions General Sections
PAYR Payment Medium File ZBUKR / HBKID / HKTID / RZAWE /
CHECT
PCEC Pre-numbered Check ZBUKR / HBKID / HKTID / STAPL
FI-BL-PT-AP(FMZA)Bank Accounting: Payment Transactions Automatic Payments
F111G Global Settings for Payment Program for MANDT
Payment Requests
FDZA Cash Management Line Items in Payment KEYNO
Requests
PAYRQ Payment Requests KEYNO
Hope this solves your concern...
Regards,
Habeeb
Assign points if helpful -
How to process very large internal tables and stop time limit
Hello Experts,
I am currently having a problem on how to fix a certain report where we process more than 500 thousand
records in the internal table. I can't think of any solution that can make the below code any faster.
I just checked in our prod server and the error time limit exceeded stops in the loop statement. Anyway,
Below is the code. Any input will be appreciated. Thanks guys and take care!
Get sales document and corresponding line item
SELECT avbeln bposnr a~auart
avkorg avtweg a~kunnr
bmatnr bpstyv b~spart
FROM vbak AS a
INNER JOIN vbap AS b
ON avbeln = bvbeln
APPENDING TABLE lt_vbap
WHERE a~auart IN lr_auart
AND a~vbeln IN s_vbeln
AND a~vbeln IN s_vbill
AND a~vbtyp EQ p_vbtyp.
LOOP AT lt_vbap ASSIGNING <wa_vbap>.
IF <wa_vbap>-auart EQ 'ZUCI' OR
<wa_vbap>-auart EQ 'ZURV' OR
<wa_vbap>-auart EQ 'ZUPR'.
Check ifa delivery document has been created
CLEAR wa_vbill.
SELECT SINGLE vbeln
FROM vbfa
INTO wa_vbill
WHERE vbelv = <wa_vbap>-vbeln
AND ( ( vbtyp_n EQ 'J' AND vbtyp_v = 'C' )
OR ( vbtyp_n EQ 'T' AND vbtyp_v = 'H' ) ).
IF sy-subrc <> 0.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ELSE.
Check if within selection parameters
CLEAR wa_likp.
READ TABLE lt_likp INTO wa_likp WITH KEY vbeln = wa_vbill.
IF sy-subrc <> 0.
SELECT SINGLE *
FROM likp
INTO wa_likp
WHERE vbeln = wa_vbill.
APPEND wa_likp TO lt_likp.
ENDIF.
IF NOT wa_likp-wadat_ist IN s_erdat.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ENDIF.
ENDIF.
ELSE.
Check if this has already been billed
CLEAR wa_vbill.
SELECT SINGLE vbeln
FROM vbfa
INTO wa_vbill
WHERE vbelv = <wa_vbap>-vbeln
AND ( ( vbtyp_n EQ 'M' AND vbtyp_v = 'C' )
OR ( vbtyp_n EQ 'O' AND vbtyp_v = 'H' ) ).
IF sy-subrc <> 0.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ELSE.
Check if within selection parameters
CLEAR wa_vbrk.
READ TABLE lt_vbrk INTO wa_vbrk WITH KEY vbeln = wa_vbill.
IF sy-subrc <> 0.
SELECT SINGLE vbeln fkdat
FROM vbrk
INTO wa_vbrk
WHERE vbeln = wa_vbill.
APPEND wa_vbrk TO lt_vbrk.
ENDIF.
IF NOT wa_vbrk-fkdat IN s_erdat.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ENDIF.
ENDIF.
ENDIF.
Get Material Type and Division
IF <wa_vbap>-spart IS NOT INITIAL.
SELECT SINGLE mtart
FROM mara
INTO lv_mtart
WHERE matnr = <wa_vbap>-matnr.
ELSE.
SELECT SINGLE mtart spart
FROM mara
INTO (lv_mtart,<wa_vbap>-spart)
WHERE matnr = <wa_vbap>-matnr.
ENDIF.
If material division is same as parameter division
IF <wa_vbap>-spart = p_spart.
If material is subsidiary-owned
IF <wa_vbap>-spart in lr_spart.
If customer is the same as that of parameter division
IF <wa_vbap>-kunnr NE lr_kunnr OR <wa_vbap>-auart EQ 'ZUDO' OR <wa_vbap>-auart EQ 'ZUS3'.
If item is a free good, tag order type as 'ZUPR' to treat
the item the same way as 'ZUPR'
IF <wa_vbap>-pstyv = 'TANN' OR
<wa_vbap>-pstyv = 'ZKNF' OR
<wa_vbap>-pstyv = 'ZKNN' OR
<wa_vbap>-pstyv = 'ZFLO' OR
<wa_vbap>-pstyv = 'ZKBF' OR
<wa_vbap>-pstyv = 'ZKLN' OR
<wa_vbap>-pstyv = 'ZREN'.
lv_auart = <wa_vbap>-auart.
IF lv_auart EQ 'ZUPR'.
CLEAR <wa_vbap>-pstyv.
ENDIF.
<wa_vbap>-auart = 'ZUPR'.
CLEAR: lv_mtart.
ENDIF.
Set Cost of Goods Sold Account
<wa_vbap>-cogshkont = '0050000010'.
CASE <wa_vbap>-auart.
WHEN 'ZUPR'.
CASE lv_mtart.
WHEN 'ZUL4'.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
WHEN OTHERS.
Check if division is defined in mapping table
READ TABLE lt_ulsub INTO wa_ulsub
WITH KEY spart = <wa_vbap>-spart.
IF sy-subrc = 0.
<wa_vbap>-kostl = wa_ulsub-kostlp.
<wa_vbap>-bukrs = wa_ulsub-bukrsp.
<wa_vbap>-type = 'TP'.
Set Cost of Goods Sold Account
IF lv_auart = 'ZUPR'.
<wa_vbap>-cogshkont = '0050000006'.
ENDIF.
ELSE.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ENDIF.
ENDCASE.
WHEN 'ZUCI' OR 'ZUDO' OR 'ZURD' OR 'ZUS3'.
Get cost center from header text
PERFORM get_cost_center USING <wa_vbap>-vbeln
CHANGING <wa_vbap>-kostl.
* Change by LGTE 11-02-2006
Check if Medvale sales
IF <wa_vbap>-auart EQ 'ZUCI' AND <wa_vbap>-kostl IS INITIAL.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
Check if UL Cost Center
ELSEIF <wa_vbap>-kostl NE gv_ul_kostl.
IF <wa_vbap>-kostl NE gv_ul_kostl.
* End change.
Get material division and check if subsidiary product
SELECT SINGLE spart FROM mara INTO <wa_vbap>-spart
WHERE matnr = <wa_vbap>-matnr.
READ TABLE lt_ulsub INTO wa_ulsub
WITH KEY spart = <wa_vbap>-spart.
IF sy-subrc = 0.
Get requestor's company code from cost center data
SELECT SINGLE bukrs
FROM csks
INTO <wa_vbap>-bukrs
WHERE kokrs = lc_kokrs
AND kostl = <wa_vbap>-kostl
AND datbi GE sy-datum
AND datab LE sy-datum.
IF sy-subrc = 0.
For donations, only include if a subsidiary company is donating
IF <wa_vbap>-auart EQ 'ZUDO' OR <wa_vbap>-auart EQ 'ZUS3'.
IF NOT <wa_vbap>-kunnr IN lr_kunnrnt.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ENDIF.
CHECK <wa_vbap>-kunnr IN lr_kunnrnt.
ENDIF.
For ZUCI, if the company code of the costcenter is UL, do not include
IF <wa_vbap>-bukrs EQ gc_ul_bukrs.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ENDIF.
IF <wa_vbap>-bukrs = wa_ulsub-bukrsp.
<wa_vbap>-type = 'RV'.
ELSE.
<wa_vbap>-type = 'RV'.
ENDIF.
ELSE.
Check if customer defined in table ZFI_DONATIONS
SELECT SINGLE kunnr FROM zfi_donations INTO <wa_vbap>-kostl
WHERE kunnr = <wa_vbap>-kostl.
IF sy-subrc <> 0.
lv_error = 'X'.
CONCATENATE 'Cost center/Customer' <wa_vbap>-kostl
'does not exist. Please check Sales Order'
<wa_vbap>-vbeln
INTO lt_disp-message SEPARATED BY space.
lt_disp-type = 'E'.
<wa_vbap>-del_ind = 'X'.
APPEND lt_disp.
CONTINUE.
ELSE.
<wa_vbap>-type = 'RV'.
ENDIF.
ENDIF.
ELSE.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ENDIF.
ELSE.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ENDIF.
WHEN OTHERS.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ENDCASE.
ELSE.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ENDIF.
ELSE.
<wa_vbap>-del_ind = 'X'.
CONTINUE.
ENDIF.
Get company code description
SELECT SINGLE butxt FROM t001 INTO <wa_vbap>-butxt
WHERE bukrs = <wa_vbap>-bukrs.
IF sy-subrc <> 0.
SELECT SINGLE name1 FROM kna1 INTO <wa_vbap>-butxt
WHERE kunnr = <wa_vbap>-kostl.
ENDIF.
Change by LGTE on 11-02-2006
Get Transaction Type
CASE <wa_vbap>-auart.
WHEN 'ZUPR'. "UL Promo/Samples
IF <wa_vbap>-pstyv = 'TANN' OR
<wa_vbap>-pstyv = 'ZKNF' OR
<wa_vbap>-pstyv = 'ZKNN' OR
<wa_vbap>-pstyv = 'ZFLO' OR
<wa_vbap>-pstyv = 'ZKBF' OR
<wa_vbap>-pstyv = 'ZKLN' OR
<wa_vbap>-pstyv = 'ZREN'.
<wa_vbap>-ltext = 'Free Goods'.
ELSE.
<wa_vbap>-ltext = 'Product Samples'.
ENDIF.
WHEN 'ZUDO'. "Donations - R/3
<wa_vbap>-ltext = 'Donations - R/3'.
WHEN 'ZUCI'. "Donations - ZUCI
<wa_vbap>-ltext = 'Donations - ZUCI'.
WHEN 'ZURD' OR 'ZUS3'. "UL Returns - Donation
<wa_vbap>-ltext = 'UL Returns - Donation'.
ENDCASE.
Get material description
SELECT SINGLE maktx
FROM makt
INTO <wa_vbap>-maktx
WHERE matnr = <wa_vbap>-matnr
AND spras = sy-langu.
Get division from material master
SELECT SINGLE spart FROM mara INTO <wa_vbap>-spart
WHERE matnr = <wa_vbap>-matnr.
Get division description
SELECT SINGLE vtext
FROM tspat
INTO <wa_vbap>-vtext
WHERE spras = sy-langu
AND spart = <wa_vbap>-spart.
Get Valuation Class
SELECT SINGLE bklas
FROM mbew
INTO lv_bklas
WHERE matnr = <wa_vbap>-matnr.
Determine G/L of FG Based on Valuation Class
READ TABLE lt_val_cls INTO wa_val_cls WITH TABLE KEY bklas = lv_bklas.
<wa_vbap>-fghkont = wa_val_cls-hkont.
Determine Cost Center of Cogs Account
READ TABLE lt_ulsub INTO wa_ulsub WITH TABLE KEY spart = <wa_vbap>-spart.
<wa_vbap>-cogskostl = wa_ulsub-kostlp.Hi!
First of all, don't use SELECT SINGLE inside of LOOP,
instead SELECT all relevated rows before LOOP in intertal tables (using FOR ALL ENTRIES) and then use
READ TABLE WITH KEY BINARY SEARCH.
it will match faster.
for example:
IF NOT lt_vbap[] IS INITIAL.
SELECT vbeln
FROM vbfa
INTO lt_vbill
FOR ALL ENTRIES IN lt_vbap
WHERE vbelv = lt_vbap-vbeln.
ENDIF.
SORT lt_vbap BY vbeln.
READ TABLE lt_vbill WITH KEY vbeln = <wa_vbap>-vbeln
BINARY SEARCH. -
Access NAST table immediately after creation of sales order (va01)
Hi All,
I want to access the nast data for the newly created sales order from va01. I tried to use program exits:
userexit_save_document and userexit_save_documnr_prepare
and plu the BADI BADI_SD_V46H0001 method EXIT_SAPLV46H_003.
the breakpoint is not stoping there even if I have given.
Please suggest any enhancements are there for such functionality.
The flow is like this.:
when user clicks on the save button after entering the data for sales order creation, the email/fax will be send to the contact persons for the output type and I want to update the nast table DATVR entry so that it will be marked as processed entry.
rgds
MadhuriI am not sure what you want, but I think it is not the right way to realize the flow.
When a sales order is saved, the process of issuing output will be handled by another program RSNAST00 (T_CODE: WE15)immediately or via a scheduled job due to output configuration , and the nast table will be updated at the same time. i think there is no need to update the nast table by yourself. -
Missing Tables and Indexes in 3.5
Hi,
when i am executing Tcode DB02 then under Missing Tables and Indexes i find 35 Indexes as not created.
can anybody tell me what does that signify. is this a issue if so how to fix it.
Indexes not created
ADCP-I04
ADCP-I03
ADCP-I02
ADCP-I01
ADCPS-I01
ADCPS-I02
ADCPS-I03
ADCPS-I04
ADRC-I14
ADRC-I11
ADRC-I05
ADRC-I02
ADRC-G
ADRP-I01
ADRP-I02
ADRP-I03
ADRP-I04
ADRP-I07
ADRP-I08
ADRP-I09
ADRV-I01
BUT000-PER
CDHDR-001
CDHDR-002
CRMD_ORDERADM_I-PKI
CRMD_ORDERADM_I-DES
ISSUE_RELATION-001
NAST-ADQ
RMPS_T_RESUB-RAG
RMPS_T_RESUB-RCU
SSPICSPRHD-S02
SSPICSTRHEAD-S01
SSPICSTRPL-FLD
STXH-TDN
SWBRULECOM-RSY
RakeshHi Rakesh,
First thing this is not an issue but an information that says that these indexes are not be created in the System.
This option Indexes not created is an SAP table maintained from Dev to Prod just to indicate that these indexes cannot be created.
That's the reason why u have a green mark beside them and this will make clear for you that this is not an issue.
Hope it helps!!!!
Thanks & Regards,
Neelesh Jain. -
Is there any datasource available to pull data from NAST table?
The field I am trying to pull out of NAST (Message Status) table is NACHA. Please provide me hints if any Business Content Datasource uses this table or we have to create a custom extractor for the same?
Regards,
JoyI dont think there is a standard business content datasource to extract data from NAST table. If you are going to use this data in some other LO modules based on the requirement enhance the datasource and append fields and write code to populate the message types.
If you are going to use this as stand alone data, then you can go ahead and create a generic datasource based on table. -
Text should appear both in chinese and english language in smartform-Urgen
Hi All,
In my requirement in smart form, the standard text and values to be printed should appear both in english and chinese language.
When my login language is EN(English), I cannot able to see the chinese text , but only the english text.
If login in Chinese language, I can able to see the both the Chinese and English text in print preview, even then in printout the chinese text is missing.
Please let me know what will be the problem.
What printer i can use to get both chinese and english text.
Thanks in advance
SaravanaHi
See the attached 2 OSS notes for your problem
OSSNote:960341
Symptom
In some device types (e.g HPLJ4, HPLJ5) you experience non-uniform character spacing in the PDF document after the PDF conversion of SAPscript or Smart Forms documents, using HELVE or TIMES fonts. You want to know the reason.
Other terms
CONVERT_OTF, SAPscript, Smart Forms
Reason and Prerequisites
The problem is not due to an error in the PDF converter but due to the fact, that the printer font, underlying the device type (e.g. Univers or CG Times in PCL-5 device types), is not available for the PDF converter and is either not available in Adobe Reader. The PDF converter has to try to simulate the layout of the printer font by means of a font which is predefined in Adobe Reader. This is done by assigning the letter widths of the printer font to the font used in Adobe Reader.
The PDF file contains a table with letter widths, used by Adobe Reader in the output of text, for each used printer font (except PostScript fonts).
Example:
%Charwidth values from HP4300 HELVE 060 normal
/Widths
[ 278 333 500 633 633 1000 758 333 333 333 633...
Adobe reader converts this width table, by modifying the space between each character, so that the specified letter width (= space between the current and the next letter) is kept.
This 'Simulation' of printer fonts results in the sometimes visible irregular spaces in PDF.
The PDF converter always uses the Helvetica Adobe PostScript font for the display of HELVE and the Times Roman Adobe PostScript font for the display of TIMES. However, for these Adobe PostScript fonts, Adobe Reader often uses a Windows TrueType font, which differs slightly from the original PostScript font.
Solution
Workaround: Use the POST2 PostScript device type or the PDF1 PDF device type for the PDF conversion of documents in the Latin-1 character set. They both use the Adobe PostScript fonts Helvetica or Times Roman for the HELVE/TIMES printer fonts.
Header Data
Release Status: Released for Customer
Released on: 30.06.2006 12:44:06
Priority: Recommendations/additional info
Category: Consulting
Primary Component: BC-CCM-PRN Print and Output Management
Secondary Components: BC-SRV-SCR SAPscript
OSS Note: 776507
Symptom
Documents printed via SAPscript or SmartForms do not print with correct special characters, e.g. ### prints instead of Japanese or Russian characters. What to do?
Other terms
SAPscript, SmartForms, printing, device types, OTF
Reason and Prerequisites
Help required to choose proper fonts in a SAPscript or SmartForm
Solution
When using SAPscript or SmartForms to print (or email or fax) a form from a business application, many factors influence the outcome of the actual text within the form. All these factors must be checked in order to ensure a correct printout:
1) The language version of the form used to produce the printout.
Example: If you want to print a French invoice, you need to have a FR version of your SAPscript or SmartForms invoice form RVINVOICE01. And the application program must specify the corresponding language key (FR) when calling the SAPscript or SmartForms API.
2) The font selections specified in the form (possibly also in a SAPscript style or SmartStyle used in a form).
Example: In a SAPscript form or a SmartStyle you need to specify HELVE if you want to print German text in Helvetica (or similar) font. If you want to print Japanese text, HELVE is not a valid choice but you need to specify a Japanese font like JPMINCHO in your Japanese form.
3) The output character set of the device type
Every printer in transaction SPAD has a "device type" assigned. Device types used by the spooler for printing support only one single specific output character set. All text from the form has to be converted (using SAP's built-in character conversion mechanism) to this output character set.
A character set can typically support either a single language (e.g. Shift-JIS which supports only Japanese) or a set of languages (e.g. ISO 8859-1, which supports Western-European languages). It is possible that a given language (such as German) can be supported by several output character sets, e.g. you may use either ISO 8895-1 (Latin-1) or ISO 8859-2 (Latin-2) to represent German text. This is so because both character sets contain the special characters used in German.
Example: HPLJ4000 is a HP LaserJet device type supporting the ISO 8859-1 (Latin-1) character set. ISO 8859-1 can be used to represent e.g. Dutch, English, French, German, Spanish, Swedish but NOT Russian or Japanese.
As a consequence, it is ok to use HPLJ4000 to print English, German French etc. but not for Japanese or Russian.
4) The set of available printer fonts for a given device type
When formatting a document, SAPscript and SmartForms perform an automatic mapping of the font definitions in the form (e.g. "HELVE 14 point bold") and the available printer fonts of the device type. A replacement printer font is chosen, should the specified font selection not be available in the device type. Now this replacement can be problematic if a language-specific font, such as Chinese CNSONG, is specified in a form and it gets replaced by a font which does not support this language, e.g. COURIER.
To solve this problem, font families in SE73 have language attribute assigned, e.g. some fonts are characterized as being suitable only for certain languages. And when a replacement has to be chosen because the original font from the form is not available in the device type, a replacement font is chosen which has the same language attributes.
If no fonts for the language in question exist in the device type, the resulting font will not be able to print the special characters and you will see "wrong" output characters in the printout.
Note on SAPscript/SmartForms Print Preview:
The OTF Print Preview available in Windows GUI (e.g. from transaction SP01) will sometimes not show the "wrong" characters which appear on the final printout. Here is the reason: since the Print Preview runs in Windows environment, it will use Windows fonts to represent the actual printer fonts. A Windows font typically has more available characters (i.e. covers more character sets) than are actually available in a printer's resident font.
A typical example where the Print Preview will differ from the printout is here: if you have a Chinese PCL5 printer such as CNHPLJ4 and use the Western Latin font COURIER in your document, the print preview will show you Chinese characters if you (by accident) tried to format Chinese characters in COURIER font. This is because Windows will automatically choose a font that can output Chinese characters (which is actually not Courier). But when you print the job on an actual PCL5 printer with resident Western and Chinese fonts, the Courier font will not print any Chinese characters but Western special characters instead, because the printer's resident Courier font does not include Chinese characters.
Rule of thumb: all Asian device types (e.g. CNHPLJ4, JPHPLJ4, JPPOST, KPHPLJ4) support not only Asian fonts but also COURIER, HELVE and TIMES fonts. But these Latin fonts can only be used to print English text, not Chinese/Japanese/Korean characters.
Which fonts are suitable for a given language?
Language(s): Font family to use in a form:
Latin-1 (Western Europe/Americas) *******
DE,EN,FR,ES,NL,SV COURIER, HELVE, TIMES
(LETGOTH, LNPRINT)
Latin-2 (Central Europe) ****************
PL, CZ COURIER, HELVE, TIMES
ISO 8859-4 (Baltic) *********************
ET, LT, LV COURIER, HELVE, TIMES
ISO 8859-5 (Cyrillic) *******************
BG, RU, SR, UK COURCYR, HELVCYR, TIMECYR
ISO 8859-7 (Greek) **********************
EL COUR_I7, HELV_I7, TIME_I7
ISO 8859-8 (Hebrew) *********************
HE COURIER, HELVE, TIMES
ISO 8859-9 (Turkish) ********************
TR COURIER, HELVE, TIMES
Simplified Chinese **********************
ZH CNHEI, CNKAI, CNSONG
Japanese ********************************
JA JPMINCHO, DBMINCHO, DBGOTHIC
Korean **********************************
KP KPBATANG, KPDODUM, KPGULIM
KPGUNGSE, KPSAMMUL
Traditional Chinese *********************
ZF TWDPHEI, TWMING, TWSONG
Thai ************************************
TH THANGSAN, THDRAFT, THVIJIT
Arabic (Unicode systems only) ***********
AR ANDALE_J
Verify your output by examining the OTF data
When analysing printing problems of this type, be sure to check the OTF data which gets produced by SAPscript or SmartForms. OTF or "Output Text Format" is the intermediate page-description format generated from SAPscript or SmartForms. OTF will contain the final printer font names and character set/language identifiers which help to solve the problem. OTF will even name the form and the language of the form used to create the output.
The easiest way to do this is to create a spool request from your application, run transaction SP01, use menu
Goto->Display Requests->Settings
and choose
Display Mode: Raw
Now display your spool request. If this is a SAPscript or SmartForms spool request, you will see OTF data. Each line represents one OTF command, every command starts with a 2-character cmd identifier and possibly some cmd parameters follow.
Here is an excerpt from a sample OTF file where we highlight the most interesting commands:
//XHPLJ8000 0700 00000000001
IN04EALEXTEST_ZEBRA
IN05%PAGE1
OPDINA4 P 144 240 1683811906000010000100001
IN06%WINDOW2
MT0024401289
CP11000000E
FCHELVE 120 00109XSF100SF101110000067E X
UL +0000000000000
SW00067
CT00000000
ST0453037Dieses SF hat Stil ALEXTEST_ZEBRA mit
The 1st line with the // (Control) command reveals the device type usedto print: HPLJ8000
//XHPLJ8000 0700 00000000001
The 2nd line (IN = Info command) shows the name and (internal 1-char)language key of the form:
IN04EALEXTEST_ZEBRA
In this case it is the English (E = EN) SmartForm ALEXTEST_ZEBRA
The OP-line (OP = Open Page) gives the page format used in the form, it is DINA4 Portrait orientation:
OPDINA4 P 144 240 1683811906000010000100001
The CP (CodePage) cmd shows the SAP system codepage used to code the text and the active language. In our case it is codepage 1100 and language E = EN = English.
CP11000000E
Finally, the FC-cmd (Font Call) lists a printer font selected within SmartForms. Please note that every SmartForm has a designated default SmartStyle under "Form Attributes->Output Options". In addition, every text node can have a SmartStyle attached (which will override the definitions from the default style for the text). In our case the resulting printer font that was selected is HELVE 12.0 pt bold-off, italic-off.
FCHELVE 120 00109XSF100SF101110000067E X
Header Data
Release Status: Released for Customer
Released on: 22.08.2005 09:57:20
Priority: Recommendations/additional info
Category: Customizing
Primary Component: BC-CCM-PRN Print and Output Management
Secondary Components: BC-SRV-SCR SAPscript
BC-SRV-SSF Smart Forms
reward if useful
regards,
ANJI
Maybe you are looking for
-
Hi Gurus, My requiremnt was to write the Material data in item ( delivery date, requiremt quantity) in the text tab ( info record PO text) When we display( Me23n) the PO. I need the user exit or BADI so that I can put the code to dispaly the data in
-
Hi- What exactly are the nature of the objects (folders) created in the Network Globe object? I have a couple stale objects that I would like to get rid of. I think one of them was pointing at a Windows workgroup (called Workgroup) that one Windows m
-
LOV (attribute updatable while new)
hi, I have a question about the following code : // jButton1.setModel(PanelLOVPersonView.createLovBinding(new JUPanelBinding("sec100.MypackageModule", this), jButton1, "UsrdefPersonView", null, "UsrdefPersonViewiewIter", new String[] {"Perid"}, "LOVP
-
Is it okay to use the yellow USB port all of the time?
Like a plugged in mouse or cooling pad for extended amounts of time?
-
We are using IDAutomation tools in order to print barcodes in our forms. We are using the IDautomation barcode font and the special PLL for reports developer. The system we are using is Oracle 11.5.10.2 and UTF8 as our NLS_LANG. The problem is that w