Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PowerBuilder Новый топик    Ответить
 PowerBuilder Read/Convert/Print File  [new]
Lana Shulman
Member

Откуда:
Сообщений: 7
Convert .DAT File to Readable Text Format.
U menia ext’ vse Fields Specifications , mne nuzhno Read File from PowerBuilder Application, convert ego and print.

Spasibo bol’shoe za pomosch,
Lana
8 фев 06, 18:09    [2335364]     Ответить | Цитировать Сообщить модератору
 Re: PowerBuilder Read/Convert/Print File  [new]
Локшин Марк
Member

Откуда: Воронеж
Сообщений: 3154
Lana Shulman
Convert .DAT File to Readable Text Format.
U menia ext’ vse Fields Specifications , mne nuzhno Read File from PowerBuilder Application, convert ego and print.

Лана, извините, но вопрос совершенно не понятен. Попытайтесь его переформулировать уточнив детали.
8 фев 06, 21:50    [2335944]     Ответить | Цитировать Сообщить модератору
 Re: PowerBuilder Read/Convert/Print File  [new]
Lana Shulman
Member

Откуда:
Сообщений: 7
Ia poluchau .dat files. Vot primer:
H00000INVOICK9 KALITTA AIR, LLC 0012005102907061409K9 06053021none
D0000009 06K9 00003 K9 I 00000000000000000000000 00000 Y K9 06053021none none 20051104 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000744

Mne nuzno convert etot file v takoi Format:

USPS International Implementation of
“INVOIC ADV” (Version 1, Release 1, USPS03)

Using INVOIC Invoice Message Framework – UN/EDIFACT Version D.96B



Introduction:

A message claiming payment for goods or services supplied under conditions agreed between the seller and the buyer.
The United Nations Standard Invoice Message, with correct data qualification, serves also as the specification for Debit Note and Credit Note messages. Throughout this document, the reference to 'Invoice' may be interpreted as conveying the wider meaning of 'Invoice/Credit Note/Debit Note'.

The USPS implementation of this message is to provide invoice advice to its transport providers of the items, which comprise amounts payable for transportation services.


Heading Section:

USPS Pos. Seg. Req. Group Notes and
Reqd No. ID Name Des. Max.Use Repeat Comments
M 0010 UNH Message Header M 1 Message ID
M 0020 BGM Beginning of Message M 1 Invoice number, record type
M 0030 DTM Date/Time/Period M 35 Consignment Completion Date
O 0030 DTM Date/Time/Period O 35 Critical Entry Date/Time
M 0030 DTM Date/Time/Period M 35 Scheduled Invoice Date
O 0030 DTM Date/Time/Period O 35 Entered Date
0080 Segment Group 1: RFF-DTM C 99
0090 RFF Reference M 1 Contract Type
0090 RFF Reference C 1 Contract Number
0090 RFF Reference C 1 Control Number

0110 Segment Group 2: NAD C 99
M 0120 NAD Name and Address M 1 Carrier/Provider Code, Carrier

Eto primer.

Ya dolzna eto delat' cherez PowerBuilder Application. Drugimi slovami, customer nazmet na knopku kotoraia convert file v pravil'ni format i napechataet file.
U menia esti Excel File s format specifications.
Ia ne imeu poniatia kak eto vse sdelat'
Please help
8 фев 06, 22:14    [2335970]     Ответить | Цитировать Сообщить модератору
 Re: PowerBuilder Read/Convert/Print File  [new]
Tea-pot
Member

Откуда: Australia
Сообщений: 16
<skipped>

Обьясните, в чем конкретно проблема.

Вы не знаете как считывать данные из файла, или вы не знаете как перенести это в MS документ? Или вам нужно просто послать на печать из датавиндоу?

Или вы не знаете как программировать в PB?
9 фев 06, 01:49    [2336283]     Ответить | Цитировать Сообщить модератору
 Re: PowerBuilder Read/Convert/Print File  [new]
Anatoly Moskovsky
Member

Откуда: Odessa
Сообщений: 6610
Lana Shulman
Ia poluchau .dat files. Vot primer:
H00000INVOICK9 KALITTA AIR, LLC 0012005102907061409K9
....

Mne nuzno convert etot file v takoi Format:
USPS International Implementation of
“INVOIC ADV” (Version 1, Release 1, USPS03)

Using INVOIC Invoice Message Framework – UN/EDIFACT Version D.96B
...


Насколько я понял, исходный формат - это текст с разделителем TAB в одной или нескольких строках.
Значит Вам надо считывать файл построчно : FileOpen (..., LineMode! ...), FileRead
Затем используя фунции Pos(..., "~t"), Mid(...) в цикле разбить по табу в массив. Затем зная по описанию исходного формата соответствие порядкового номера поля и его имени надо опираясь на спецификацию конечного формата сохранить в файл (ф-я FileWrite)

Если в строках исходного формата кол-во полей строго одинаковое, то вместо ручного разбора в массив можно импортировать в подготовленное DW ф-ей dw.ImportString или ImportFile

А что касается непосредственно алгоритма конвертации, то боюсь, что вряд ли кто-то сможет помочь :)
9 фев 06, 11:45    [2337377]     Ответить | Цитировать Сообщить модератору
 Re: PowerBuilder Read/Convert/Print File  [new]
гость форума
Guest
автор
Using INVOIC Invoice Message Framework – UN/EDIFACT Version D.96B

Боюсь, что здесь вы имеете случай с обработкой данных в промышленном стандарте обмена данными EDIFACT (вот первая попавшаяся ссылка). Т.е. задача состоит в написании парсера данных. По моим представлениям, в России данный стандарт не популярен... Так что искать помощи в данном вопросе на этом форуме бесполезно.
9 фев 06, 16:12    [2339373]     Ответить | Цитировать Сообщить модератору
 Re: PowerBuilder Read/Convert/Print File  [new]
Lana Shulman
Member

Откуда:
Сообщений: 7
Bol'shoe spasibo vsem.

I guess I do need someone to help me write the Converter. I figured out how to print the file from PB so far,but the converter is a problem.
9 фев 06, 20:12    [2340408]     Ответить | Цитировать Сообщить модератору
 Re: PowerBuilder Read/Convert/Print File  [new]
Tea-pot
Member

Откуда: Australia
Сообщений: 16
Наша фирма использует EDI (Electronic Data Interchange) для коммуникации с таможней и компаниями занимаюшимися перевозкой по морю.

И я искренне хочу помочь.
Но не пойму, в чем именно проблема. В чем именно помощь нужна?
Подсказать функции для работаты с фаилами и строковыми переменными?
Или в незнании РВ?
Или ей достаточно этой ссылки http://www.dmovers.com/edioutsourcing.html?
Или может быть ей нужен пример кода?

Мы настраиваем парсер с помощью специальной программы. Потом им пользуемся.

В результате код в РВ выглядит примерно так :

OleObject l_parser
OleObject l_batch
....
l_parser = Create OleObject
ll_RetCode=l_parser.ConnectToNewObject('customs_ics_04FEB.inputparser')
.....
l_batch = create OleObject 

ll_RetCode =l_batch.ConnectToNewObject('customs_ics_04FEB.msgBATCH')

.....
l_batch = l_parser.parse(ls_msg_string)

....
ls_date = Right('000000'+String(l_batch.UNB.DateTimeOfPreperation.Date.Value),6)
ls_date = Right(ls_date,2)+'/'+Mid(ls_date,3,2)+'/'+left(ls_date,2)

ls_time = Right('0000'+String(l_batch.UNB.DateTimeOfPreperation.Time.Value),4)
ls_time = Left(ls_time,2)+':'+Right(ls_time,2)

ld_Transmission = Datetime(Date(ls_date),Time(ls_time))

ll_interchange = Long(l_batch.UNB.InterchangeControlReference.Value)
ls_creator 		= String(l_batch.UNB.InterchangeSender.SenderIdentification.Value)
ls_owner 		= String(l_batch.UNB.InterchangeSender.AddressForReverseRouting.Value)
ls_recipient 	= String(l_batch.UNB.InterchangeRecipient.RecipientIdentification.Value)
.....

Et Cetera
10 фев 06, 02:03    [2340807]     Ответить | Цитировать Сообщить модератору
 Re: PowerBuilder Read/Convert/Print File  [new]
Филипп
Member

Откуда: Boston, MA, USA (c 1989 ) б. Москва
Сообщений: 1880
Tea-pot
Мы настраиваем парсер с помощью специальной программы. Потом им пользуемся.

В результате код в РВ выглядит примерно так :

[src]
OleObject l_parser
OleObject l_batch
....
l_parser = Create OleObject
ll_RetCode=l_parser.ConnectToNewObject('customs_ics_04FEB.inputparser')

Так вы какой-то покупной контрол для парсания используете. Какое это имеет отношение к знанию/незнанию РВ или примерам кода?
Дама хочет знать, как на PowerScripte написать то, что у вас ActiveX делает...
10 фев 06, 07:54    [2340986]     Ответить | Цитировать Сообщить модератору
 Re: PowerBuilder Read/Convert/Print File  [new]
Dmitry.
Member

Откуда: Boston, MA
Сообщений: 847
Лана!
Ну выложите нам файл и то что из него должно получится!
Народ хочет разобраться!!!
10 фев 06, 11:47    [2342061]     Ответить | Цитировать Сообщить модератору
 Re: PowerBuilder Read/Convert/Print File  [new]
Lana Shulman
Member

Откуда:
Сообщений: 7
I can send the files ( data, format and output).

Thanks for your help everyone.
I am sorry , its easier for me to write in English.
Although my Russian is perferct, after all ia rodilas' i virosla v Rossii.

К сообщению приложен файл (INVOICADV20051029070614K9.dat - 67Kb) cкачать
10 фев 06, 17:50    [2344716]     Ответить | Цитировать Сообщить модератору
 Re: PowerBuilder Read/Convert/Print File  [new]
Lana Shulman
Member

Откуда:
Сообщений: 7
Output sample File

К сообщению приложен файл (Release 3.xls - 48Kb) cкачать
10 фев 06, 17:54    [2344740]     Ответить | Цитировать Сообщить модератору
 Re: PowerBuilder Read/Convert/Print File  [new]
Lana Shulman
Member

Откуда:
Сообщений: 7
Sorry the previous File is not the output sample, The output sample that Ihave is too big to attach.
The Excel File is the format specs.
Thanks again to everyone for helping me.
10 фев 06, 17:57    [2344752]     Ответить | Цитировать Сообщить модератору
 Re: PowerBuilder Read/Convert/Print File  [new]
voronk
Member

Откуда: Оттуда...
Сообщений: 548
Если я чего не понял поправьте плиз.

Если есть дата-файл, почему не сделать импорт в datawindow, а потом не сказать dw.Print()
10 фев 06, 23:50    [2345747]     Ответить | Цитировать Сообщить модератору
 Re: PowerBuilder Read/Convert/Print File  [new]
Lana Shulman
Member

Откуда:
Сообщений: 7
Eto ne plohaia idea. Esli ya Import v datawindow, ya mogu pomaniat' format as I run it?
How do I import it to datawindow?
11 фев 06, 00:16    [2345808]     Ответить | Цитировать Сообщить модератору
 Re: PowerBuilder Read/Convert/Print File  [new]
Dmitry.
Member

Откуда: Boston, MA
Сообщений: 847
посмотрел я ваши файлы.
dat файл - обычный текстовый файл.
этот файл разделен не табами а пробелами и импорту (ImportFile) в датавиндов не подлежит.
кроме того он имеет первую и последнюю строки отличные от остальных (хедер и футер), формат хедера, футера и каждой строки описан в Release.xls.

читать файл вам надо с помощью FileOpen(...,LineMode!), FileRead, FileClose и отрезать строки (mid) из прочитанных согласно Release.xls.
вставлять это все в датавиндов или датастор и печатать.
14 фев 06, 17:49    [2355796]     Ответить | Цитировать Сообщить модератору
 Re: PowerBuilder Read/Convert/Print File  [new]
PL99
Member

Откуда: Moscow
Сообщений: 1367
IMHO, обсуждение проблемы зашло в тупик :-(

Грубый пример чтения и разбора строки файла приведен ниже.
string docname, named
integer value, li_FileNum
string ls_InputLine, lsFF
string lsMsgNum
value = GetFileOpenName("Select EDIFACT DAT File",  docname, named, "DAT", "EDIFACT Files (*.DAT),*.DAT")
IF value <> 1 THEN Return

li_FileNum=FileOpen(docname)
do while true
	value = FileRead(li_FileNum, ls_InputLine) //header line
	if value = -100 then exit //EOF
	//First field
	lsFF = left(ls_InputLine, 6)
	lsMsgNum = mid(lsFF, 2)
	choose case left(lsFF, 1)
		case "H" 
			// Parce header
			string lsFileType, lsCarrierCode, lsCarrierName, lsFileVersion
			string lsDateTime, lsPaymentType, lsInvoiceNum
			lsFileType = mid(ls_InputLine, 7, 6) // "INVOIC"
			lsCarrierCode =  mid(ls_InputLine, 13, 5)// "K9   "
			lsCarrierName = mid(ls_InputLine, 18, 30)//"KALITTA AIR, LLC             "
			lsFileVersion = mid (ls_InputLine, 48, 3)//"001"
			lsDateTime    = mid (ls_InputLine, 51, 14)//"20051029070614" - 2005.10.29 07:06:14
			lsPaymentType = mid (ls_InputLine, 65, 2)//"09"
			lsInvoiceNum = mid (ls_InputLine, 67, 30)//"K9 06053021none              "
		CASE "D"
			// Parse detail
		CASE "T"
			// Parse tail
		case else
	end choose
loop
К сожалению, по описанию автора топика, не смог понять, что именно следует сделать с разобранной строкой...
Ниасилил :-))
14 фев 06, 21:00    [2356304]     Ответить | Цитировать Сообщить модератору
Все форумы / PowerBuilder Ответить