2012-01-27 11 views
0

ABAPプログラムを使用して現在と深夜の間に何分あるかを計算する必要があります。何分を計算するか

+4

ようこそ!何を試しましたか?ここでプログラミングに関する質問をしている人たちを支援します。 – paislee

+3

おはよう、これはプログラミングに関する質問ではありませんか?あなたが知っているか、あなたが知らないABAPでは、試しがありません。 – tomdemuyt

答えて

4

たとえば、あなたはデータ型"t"を使用していると仮定し

REPORT ZXZ. 

DATA: 
    g_time TYPE tims, 
    g_minutes TYPE i. 

GET TIME. 
g_time = '000000' - sy-uzeit. 
g_minutes = g_time(2) * 60 + g_time+2(2) + g_time+4(2)/60. 
WRITE g_minutes. 
1

、あなたは、あなたが結果のDIV 60を取らなければならない"235959"SY-UZEITの間の差を取ると"1"を追加する必要があります。例:

DATA: t1 TYPE t, 
     t2 TYPE t VALUE '235959', 
     t3 TYPE i. 
GET TIME. "Not necessary if you want only to calculate your minutes to midnight, assuming this report won't run to long. 
t1 = sy-uzeit. 
t3 = t2 - t1. 
t3 = t3 + 1. 

t3 = t3 DIV 60. 

t3今真夜中に左の分が含まれ、SY-UZEITは、エンドユーザーの時間ではないかもしれないシステムの時間を要することに注意してください。

+1

'sy-uzeit'はプログラムの実行時間を含んでいます。それをリフレッシュするには、 'GET TIME'を使う必要があります。 – Jagger

+0

最初に1つ目と2番目のどちらを使うべきですか? –

+0

両方のソリューションが可能ですが、私のソリューションでは、タイプ 'i'のデータで計算します。ジャガーはタイプ 't'のデータを計算し、最後に 'i'にキャストします。しかし、おそらくあなたはこの問題のために独自のデータ型を作ることを考えるべきです... – BB101010